1
2 3
4 5 6
我必须使用单个for循环打印三角形。
我尝试使用两个for循环,我成功完成但我必须使用单个for循环来解决它。
答案 0 :(得分:1)
诀窍是当前行的最后一个数字是上一行最后一个数字和数字的总和行
换句话说:lastNum = prevLastNumber + rowNum
int row = 1;
int last = 0;
for (int i = 1; i < 37; i++) {
if (i < (row + last)) {
System.out.print(i + " ");
} else {
System.out.print(i + "\n");
row++;
last = i;
}
}
输出如下:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
答案 1 :(得分:0)
试试这个。
public class Pyramid7Floyds {
public static void main(String[] args) {
int nextNumber = 1;
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(nextNumber<10 ? (" " + nextNumber++) : (" " + nextNumber++) ); //2spaces in single digit & 1 space in double digit.
//System.out.format("%3d",nextNumber++ ); //You may use this line for formatting as a replacement of above line. (comment above line before using this)
}
System.out.println();
}
}
}
答案 2 :(得分:0)
public class HelloWorld{
public static void main(String []args){
int j=1;
for(int i=1;i<=6;i++){
System.out.print(i+" ");
if (i==j){
System.out.print('\n');
j=2*j+1;
}
}
}
}