0

Java でループを使用してフィボナッチ数列を出力しようとしていますが、これを理解できません。do-while0 から 100 の間である必要があります。

次のコードがあります。

int prevPrevVal = 0;
int prevVal = 1;
int currVal;
System.out.println(prevPrevVal);
System.out.println(prevVal);

do
{       
    currVal = prevVal + prevPrevVal;
    System.out.println(currVal);

    prevPrevVal = prevVal;
    prevVal = currVal;          
} while (prevVal <= 100);
4

6 に答える 6

3

これは、while ループに条件付き制限を設けることで、フィボナッチ数列を見つける単純化されたプログラムです。皆さんがこれでアイデアを得ることを願っています.... !!

    int a=0;
    int b=0;
    int temp=1;
    do {    
        a=b;
        b=temp;
        temp=a+b;
        System.out.println(temp);
    }while(temp<100);
于 2018-07-09T10:47:01.443 に答える
0

フィボナッチの項を 100 までにしたいので、次のように変更while (prevVal <= 100);します。while (prevVal+prevPrevVal <= 100);

これにより、最大 89 が出力されます。

于 2015-07-03T14:06:21.133 に答える
0

これがあなたの解決策になるはずです

public static void main(String[] args) {

     int prevVal = 1;
     int prevPrevVal = 0;
     int n = 0;
     do{
         int currVal = prevVal + prevPrevVal;
         prevPrevVal = prevVal;
         prevVal = currVal;
         System.out.print(currVal+" ");
         n++;
     }while(n<5);//n is the number of terms


}
于 2013-10-11T05:27:32.360 に答える
0

どうぞ :

int prevVal = 1;
int prevPrevVal = 0;
        do{
        int currVal = prevVal + prevPrevVal;
                    //currVal is your Fibonacc seq.
        prevPrevVal = prevVal;
        prevVal = currVal;
    }
    while(yourCondition);
于 2013-10-11T05:27:56.990 に答える
0

ドキュメントdo-whileのループの基本構造を使用する:

do {
    statement(s)
} while (expression);

「ステートメント」セクションで必要なのは、反復ごとに結果をインクリメント (および場合によっては出力) することです。ループを使用した基本的なフィボナッチ数列do-whileは次のようになります。

int prevVal = 1;
int prevPrevVal = 0;
int currVal;
do {
    // Add the two numbers
    currVal = prevVal + prevPrevVal;
    // "Bump" up prevPrevVal to prevVal, and prevVal to currVal
    prevPrevVal = prevVal;
    prevVal = currVal;
    // Output to the screen
    System.out.println(currval + "\n");
} while(expression);
于 2013-10-11T05:32:49.213 に答える