4

の値を昇順で最適な方法で出力するよう求めるインタビューの質問に遭遇しました.eg3i * 7j

30 * 70 = 1
31 * 70 = 3
30 * 71 = 7
32 * 70 = 9
31 * 71 = 21
33 * 70 = 27

等々 ...

4

3 に答える 3

0
A(i,j)=3^i * 7^j
when i != 0 and j != 0:
    A(i,j)=A(i-1,j-1)*21
when i!=0 and j==0:
    A(i,0)=A(i-1,0)*3
when i==0 and j!=0:
    A(0,j)=A(0,j-1)*7
when i==0 and j==0:
    A(0,0)=1

それらを 2 次元配列に格納して、そこから前の値を取得できます。

于 2013-08-25T10:37:58.613 に答える
0

あなたが最適だと言うときに私が考えることができる唯一のことは、それを計算して値を表に保存することです. 次に、乗算のみを計算します

     long[] threePower = new long[10];
     long[] sevenPower = new long[10];

     threePower[0] = sevenPower[0] = 1;
     for (int i = 1; i < 10; i++)
     {
        threePower[i] = threePower[i - 1]*3;
        sevenPower[i] = sevenPower[i - 1] * 7;
     }

次に、組み合わせを印刷します

于 2013-08-25T10:39:56.913 に答える