2016-03-29 10 views
0

コードでないモジュロmについてピサーノ期間を計算しようとすると - :ここフィボナッチmは数に

import java.util.Scanner; 

public class Big 
{ 
    public static long m; 
    public static int ind; 
    public static long first_no,second_no; 
    public static boolean flag = false; 
    public static long fib_no; 

    public static int find_index(long mod_no) 
    { 
     int i = 1; 
     first_no= 0; 
     second_no= 1; 

     while(flag != true) 
     { 
      fib_no = first_no + second_no; 
      second_no = first_no; 
      first_no = fib_no; 

      if(fib_no%mod_no == 0) 
      { 
       if(((first_no%mod_no + second_no%mod_no)%mod_no) == 1) 
       { 
        ind = i; 
        flag = true; 
        System.out.println("i : " + i); 
        break; 
       } 
       else 
       { 
        i++; 
       }  
      } 
      else 
      { 
       i++; 
      } 
     } 

     return ind; 
    } 

    public static void main(String[] args) 
    { 
     int i=0; 
     Scanner num = new Scanner(System.in); 
     System.out.println("Enter Mod No : "); 
     m = num.nextLong(); 

     ind = find_index(m); 
     System.out.println(ind); 
    } 
} 

iは、mは弾性率がされることにより、数値が入力されるように、Mをとっています撮影。私は入力としてmを取って、出力として期間を取得します。

一部の回答が間違っていたり、いくつかの回答が間違っています。期間を計算するためにこのコードの助けを待っています

+0

このリンクを参照@JFMeier達成し、テスト結果に –

+0

を与えたいと思うかを説明 - :私が得るMODを入力するには、このリンクをhttp://webspace.ship.edu/msrenault/fibonacci/fiblist.htm を対応する期間。例えば、私が入力を与えた場合、私は60として出力を得るでしょう。 –

答えて

0

あなたのフィボナッチシリーズの計算は間違っています。次の3つの連続したFibonnacci番号を構築しようとしているが、

second_no = first_no; 

が間違って設定されています。それが正しいかどうかを理解するために生成するフィボナッチシリーズを印刷してください。さらに、whileループの構築は非常に複雑です(フラグを使用するか、ブレークを使用します。ブレークを目的とする場合は、代わりにforループを使用してカウンタを管理します)。

+0

フィボナッチシリーズを印刷して、私はいくつかの数値を負にしています。これらの数値が範囲内に入るようにいくつかの方法を提供できますか? if文の前にsystem.out.println(fib_no)文を1つ追加しました。正しい番号を印刷してこの問題を解決するのに手伝ってください。 –

+0

開始値0,1の補助変数fnewと繰り返しステップfNew = f1 + f2の2つの変数f1、f2を持つことでフィボナッチシーケンスを反復処理できます。 f1 = f2; f2 = fNew。 –

+0

まだ動作していません...負の値を表示する –

0

あなたは負の答えを避けるために変数をlongと宣言する必要があります。これは整数のオーバーフローのために起こります。

+0

どの変数を宣言するかを正確に指定できます。 –

関連する問題