-1

このようにしてみましたが、

 for (int j = 1; j <= 4; j++) {
            for (int k = 1; k < 10; k++) {
                if (k <= j) {
                    System.out.print(k + " ");
                } else
                    break;
            }
            System.out.println();
        }

しかし、それは次のように印刷されます

1
1 2 
1 2 3  
1 2 3 4  

この質問は、私が参加したあるインタビューで聞かれました.解決策を見つけるために私の心は壊れています..私は考えることができません..

4

4 に答える 4

1

これはそれを行います:

   public static void main(String[] args)
    {

       int i, j, k;
       for (i = 1, j = 1; i < 11; j++)
       {
           for (k = 0; k < j; k++)
           {
               System.out.print(i++ + " ");
           }

           System.out.println();

       }
    }
于 2013-10-10T15:22:01.973 に答える
0

このコードはそれを行います:

int i, j, k;
for (i = 1, j = 1; i < 11; j++) {
    for (k = 0; k < j; k++)
        System.out.print(i++ + " ");
    System.out.print("\n");
}

基本的に、i は次に表示する数字を制御し、j は現在の行に表示する数字の数を制御します。k は j の単なるカウンターです。

于 2013-10-10T15:18:45.170 に答える
0

いくつかの数学マジック (数列) でこれを試すこともできます。

for (int j = 1; j <= 4; j++) {
    for (int k=(int) (0.5*(Math.pow(j,2)-j+2));k<=(int) (0.5*j*(j+1));k++) {
         System.out.print(k + " ");
    }
    System.out.println();
}
于 2013-10-10T16:03:03.787 に答える