【发布时间】:2020-08-10 12:59:20
【问题描述】:
我正在尝试打印以下模式:
0
11
0
222
0
3333
0
222
0
11
0
我想通过在所述递归方法中使用递归和循环来实现这一点,该方法会传递一个整数值。 int 值决定了这个金字塔模式走多远。在上面的示例中,int 值将是 3。 我设法得到了下半部分,但我不知道得到上半部分。
if (arg != 0) {
System.out.println("0");
for (int i = 0; i <= arg; i++) {
System.out.print(arg);
}
System.out.println();
print(arg - 1);
}
我如何能够以某种方式实现一些增量,从而减少此递归?因为我认为这就是我可以实现上述模式的方法。
非常感谢您!
【问题讨论】:
-
您在寻找递归解决方案还是迭代解决方案?
-
如果您传递两个值 (1,n) 并递归到 n,然后在达到 n 的值时使用另一种方法向下递归。
-
@TimBiegeleisen 我想这是一种混合,因此造成了混乱。零和下一个数字应该是递归打印的,但数字 (1, 2, 3) 应该通过循环打印(因此是迭代的)。
-
@arundeepchohan 这可以使用一种方法并只传递一个值。
-
I guess it's kind of a mix...这里的问题是你猜测。递归和迭代解决方案是解决此问题的非常不同的方法,您很可能只要求一种方法。