フィボナッチ数列 Java 再帰とループプログラムの使用

フィボナッチ数列とは何か Java?

A フィボナッチ数列 in Java は、次の数字が前の 0 つの数字の合計になる一連の数字です。フィボナッチ数列の最初の 1 つの数字は XNUMX と XNUMX です。フィボナッチ数は、XNUMX つの整数の最大公約数を決定するアルゴリズムの計算実行時の研究で大きく使用されます。

算術において、ウィトフ配列はフィボナッチ数列から得られる数値の無限行列です。

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

フィボナッチ数列プログラム Java Forループの使用

//Using  For Loop
public class FibonacciExample {
	public static void main(String[] args) 
	{
		// Set it to the number of elements you want in the Fibonacci Series
		 int maxNumber = 10; 
		 int previousNumber = 0;
		 int nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
	}
}

出力:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

プログラムロジック:

  • previousNumber は 0 に初期化され、nextNumber は 1 に初期化されます。
  • フィボナッチ For ループは次のように繰り返します。 maxNumber
    • 前の番号を表示する
    • previousNumber と nextNumber の合計を計算します
    • previousNumber と nextNumber の新しい値を更新します。

フィボナッチ数列プログラム Java Whileループの使用

生成することもできます Java フィボナッチ数列を使用した While ループイン Java

//Using  While Loop
public class FibonacciWhileExample {
	public static void main(String[] args) 
	{
		 int maxNumber = 10, previousNumber = 0, nextNumber = 1;
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        int i=1;
	        while(i <= maxNumber)
	        {
	            System.out.print(previousNumber+" ");
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	            i++;
	        }
 
	}
 
}

出力:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

プログラム ロジックの唯一の違いは、使用方法です。 WHILEループ フィボナッチを出力するには Numbers

ユーザー入力に基づくフィボナッチ数列

//fibonacci series based on the user input
import java.util.Scanner;
public class FibonacciExample {
 
	public static void main(String[] args) 
	{
	
		 int maxNumber = 0; 
		 int previousNumber = 0;
		 int nextNumber = 1;
		 
		    System.out.println("How many numbers you want in Fibonacci:");
	        Scanner scanner = new Scanner(System.in);
	        maxNumber = scanner.nextInt();
	        System.out.print("Fibonacci Series of "+maxNumber+" numbers:");
 
	        for (int i = 1; i <= maxNumber; ++i)
	        {
	            System.out.print(previousNumber+" ");
	            /* On each iteration, we are assigning second number
	             * to the first number and assigning the sum of last two
	             * numbers to the second number
	             */
 
	      
	            int sum = previousNumber + nextNumber;
	            previousNumber = nextNumber;
	            nextNumber = sum;
	        }
 
	}
 
}

プログラムロジック:
ロジックは前と同じです。表示する要素の数をハードコーディングする代わりに、 Java フィボナッチ数列では、ユーザーに数字を記入するよう求められます。

再帰を使ったフィボナッチ数列 Java

以下はフィボナッチ数列プログラムです。 Java 再帰を使用する:

//Using Recursion
public class FibonacciCalc{
	public static int fibonacciRecursion(int n){
	if(n == 0){
		return 0;
	}
	if(n == 1 || n == 2){
			return 1;
		}
	return fibonacciRecursion(n-2) + fibonacciRecursion(n-1);
	}
    public static void main(String args[]) {
	int maxNumber = 10;
	System.out.print("Fibonacci Series of "+maxNumber+" numbers: ");
	for(int i = 0; i < maxNumber; i++){
			System.out.print(fibonacciRecursion(i) +" ");
		}
	}
}


出力:

Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34

プログラムロジック:

再帰関数とは、それ自体を呼び出すことができる関数です。

フィボナッチ再帰():

  1. 当学校区の Java フィボナッチ再帰関数は入力数値を受け取ります。0、1、2をチェックし、それに応じて0、1、1を返します。 Java 0、1、1から始まります。
  2. 入力nが3以上の場合、関数は再帰的に呼び出されます。呼び出しはXNUMX回行われます。フィボナッチ数列を見てみましょう。 Java 入力 4 に再帰例を使用する。
fibonacciRecursion (4)  
	It will recursively call fibonacciRecursion function for values 2 and 3
		fibonacciRecursion (2) \\ call for value 0 and 1
			fibonacciRecursion (0) = 0
			fibonacciRecursion (1) = 1
		fibonacciRecursion (3) \\ It will call for 1 and 2
			fibonacciRecursion (1) = 1
			fibonacciRecursion (2) \\ It will call for 0 and 1
				fibonacciRecursion (0) = 0
				fibonacciRecursion (1) = 1

結果は 0+1+1+0+1=3 として追加されます。