首页 > 解决方案 > 编写程序以使用嵌套循环打印以下模式

问题描述

2n+1的模式应该是阶梯式

1
1 4
1 4 9
1 4 9 16
1 4 9 16 25

我试图将 2n+1 方程暗示到 for 循环中。我搞砸了一个小时,但仍然想不出解决这个问题的方法。这是我到目前为止所尝试的。

public class hw5{
    public static void main(String[] args){
        for(int i=1 ; i <= 5; i++){
            for(int j=1; j <= 25; j = j + 3){
                System.out.print(j);
            }
            System.out.println();
        }
    }
}

标签: java

解决方案


打印的系列只是从 1 开始的整数的平方。所以只需将前面的每个方块保存在一个字符串中。

String s = "";
int max = 5;
for(int i = 1; i <= max; i++) {
    System.out.println(s+= (i*i)+" ");
}

印刷

1 
1 4 
1 4 9 
1 4 9 16 
1 4 9 16 25
    

但是,从 1 开始,连续奇数的和也形成完全平方。是 的任何整数值的2n+1奇数的代表形式。n

所以你也可以这样做。

  • 计算循环sums中所有的computed odd numbers
  • 在计算每个之后sum,附加到一个字符串并打印
int sum = 0;
String s = "";
int max = 5;
for (int n = 0; n < max; n++) {
    sum += (2*n + 1);
    System.out.println(s += sum + " " );
}

印刷

1 
1 4 
1 4 9 
1 4 9 16 
1 4 9 16 25 

推荐阅读