工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

再帰およびループ プログラムを使用した Java のフィボナッチ数列

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

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

算術では、ワイトフ配列はフィボナッチ数列から得られる数の無限行列です。

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

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

//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

プログラム ロジック:

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

While を使用して Java フィボナッチ シリーズを生成することもできます。 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 ループを使用してフィボナッチ数を出力することです

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

//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

プログラム ロジック:

再帰関数とは、自分自身を呼び出す機能を持つ関数です。

fibonacciRecursion():

<オール>
  • Java Fibonacci 再帰関数は入力数値を取ります。 Java のフィボナッチ数列は 0、1、1 で始まるため、0、1、2 をチェックし、それに応じて 0、1、1 を返します。
  • 入力 n が>=3 の場合、関数は自分自身を再帰的に呼び出します。呼び出しは 2 回行われます。 4 の入力に対する再帰の例を使用して、Java のフィボナッチ数列を見てみましょう。
  • 	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


    Java

    1. Java Hello World プログラム
    2. Java 変数とリテラル
    3. Java 式、ステートメント、およびブロック
    4. Java クラスとオブジェクト
    5. Java 抽象クラスと抽象メソッド
    6. Java のネストされた内部クラス
    7. Java スローとスロー
    8. Java オートボクシングとアンボクシング
    9. 素数をチェックする Java プログラム
    10. forループを使用したJAVAプログラムのアームストロング数
    11. 再帰を使用してJavaで文字列を逆にする方法