0

タスクは古典的です。成熟したペアごとに3つの若いペアが得られることを考慮して、30か月後のウサギのペアの数を計算します。コードは次のとおりです。

    int young = 1;
    int mature = 0;  
    for(int n=2; n<=31; n++)
    {
        int take_away=young;
        young=3*mature; 
        mature=mature+take_away;
        System.out.println("month:"+n+"\t"+"mature\t"+mature+"\t"+"young\t"+young+"\n");
        if(n==31)System.out.println(mature+take_away);
    }

問題は次のとおりです。

最初はすべてが素晴らしいです:

月:2 成熟した 1 若い 0

月:3 成熟した 1 若い 3

月:4 成熟した 4 若い 3

月:5 成熟した 7 若い 12

28 か月目以降の出力は次のようになります。

月:28 成熟した 1674257764 若い -2113786333

マイナスはどこから?

4

1 に答える 1

1

を使用intし、新しい番号が を超えていInteger.MAX_VALUEます。long代わりに使用してください。

于 2018-09-19T18:14:38.313 に答える