这是系列:
12345
22345
33345
44445
我试图解决这个问题,但问题不正确......
以下是代码:
class q14
{
public static void main ( )
{
int i,j,k;
for (i=1;i<=5;i++)
{
for (j=i;j<=5;j++)
{
for (k=1;k<=i;k++)
{
System.out.print (i + " ");
}
System.out.print (j + " ");
}
System.out.println();
}
}
}
答案 0 :(得分:1)
以下块应按照您的描述生成系列。
int numberOfLines = 4;
int numberOfDigitsPerLine = 5;
for (int i=1; i<numberOfLines+1; i++){
for(int j=1; j<=numberOfDigitsPerLine; j++) {
if(j>=i) {
System.out.print(j);
} else {
System.out.print(i);
}
}
System.out.println();
}
根据需要更改numberOfLines
和numberOfDigitsPerLine
。
<强>精化:强>
首先,您必须分析系列,通过它的外观,第一个数字从1开始,然后继续前进5个数字,第二个数字沿着5个数字前进,最多5个,如前所述,但它用2替换第一个数字
向下移动数字我们可以看到一个模式,其中第N个数字将具有N个N个数字,后跟连续数字,直到数字5。
所以在上面的代码中,我选择max N为4,如你所描述的那样,数字最多为5,这些数字分别由变量numberOfLines
和numberOfDigitsPerLine
表示。
块本身检查该点的N是什么(在我的块中它由i
表示),然后继续向最大数字5,这在j
for循环内完成。如果j大于或等于N,那么我们打印j,否则我们还没有完成所有N的打印,所以我们打印N.
答案 1 :(得分:0)
这是:
for (int i = 1; i <= 5; i++)
{
for(int k = 1; k <= i;k++)
System.out.print(i);
for (int j = i + 1; j <= 5; j++)
System.out.print(j);
System.out.print("\n");
}
答案 2 :(得分:0)
你不需要系列的第三个循环
for (int j=1;j<=5;j++) {
for (int k=1;k<=5;k++){
if(k<=j)
System.out.print (j + " ");
else
System.out.print (k + " ");
}
System.out.println();
}
输出
1 2 3 4 5
2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
5 5 5 5 5
答案 3 :(得分:0)
试试这个:
for(int i=1;i<=4;i++)
{
for(int j = 1; j<=5;j++)
{
if(i>j)
{
for(int x= 1 ; x<=i;x++)
{
System.out.print(i);
j++;
}
}
System.out.print(j);
}
System.out.println("\n");
}