java - 使用递归的数字模式

标签 java recursion

我在递归方面遇到了一些麻烦,我的第一个输入将是起始数字,它会一直被第二个输入减去。 Ex) 12 和 3 作为输入,输出为 12 9 6 3 0 3 6 9 12。printNumPattern 方法是递归方法。

private static void printNumPattern(int num1, int num2) {
        int temp = num1;

        System.out.println(num1);

        if(num1 <= 0) {
            
            if(num1 == temp) {
                System.out.println();
            }else {
                printNumPattern(num1+num2,num2);
            }
            
        }else {
            printNumPattern(num1-num2,num2);
        }

    }


    public static void main(String[] args) { 
        Scanner scnr = new Scanner(System.in);
        int num1;
        int num2;

        num1 = scnr.nextInt();
        num2 = scnr.nextInt();
        printNumPattern(num1, num2);
    }

最佳答案

你可以在递归调用之后做一些事情,不用任何计算重用n1:

static void p(int n1,int n2){
  System.out.println(n1);
  if(n1<=0)return;
  p(n1-n2,n2);
  System.out.println(n1);
}

(我在手机上打字,所以我稍微缩短了名字)

关于java - 使用递归的数字模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63855337/

相关文章:

java - Apache Spark : Effectively using mapPartitions in Java

java - 即使正确的JSON JAVA Volley,凭证响应也无效

具有尾递归优化的 C# 编译?

Collat​​z 猜想的 Python 递归函数

Java HashMap /数组列表计数不同值

java - 验证签名时出错: SigningCertificate property contains one or more certificates that are not part of the certification path

java - Spring AOP异常多态

php - 使用正则表达式匹配嵌套模式(使用 PHP 的递归)

python - 递归调用复杂度

c++ - 为什么有限递归行为会导致崩溃? (free():无效的指针)