Heim  >  Artikel  >  Java  >  Drei Möglichkeiten zur Implementierung der Fibonacci-Folge in Java

Drei Möglichkeiten zur Implementierung der Fibonacci-Folge in Java

王林
王林nach vorne
2019-12-06 12:00:535296Durchsuche

Drei Möglichkeiten zur Implementierung der Fibonacci-Folge in Java

Definition der Fibonacci-Folge: Fibonacci-Folge bezieht sich auf eine Folge von 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368 ..., diese Sequenz beginnt mit dem 3. Element. Jeder Term ist gleich der Summe der beiden vorherigen Terme.

Die Fibonacci-Folge, auch bekannt als Goldene-Schnitt-Folge, wurde von der Mathematikerin Leonardoda Fibonacci am Beispiel der Kaninchenreproduktion eingeführt und wird daher auch „Kaninchenfolge“ genannt. Mathematisch ist die Fibonacci-Folge rekursiv wie folgt definiert: F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2, n ∈N*).

Kostenloses Teilen von Online-Video-Tutorials: Java-Online-Video

Jetzt verwenden wir Java, um die ersten 10 Zahlen der Fibonacci-Folge zu drucken:

Der erste Weg: direkte Zuweisungsmethode

public class PrintFib {
 
	public static void main(String[] args) {
		
		//定义第一个加数a,初始值为1;定义第二个加数b,初始值为1;定义两个加数之和为c,初始值为0
		int a = 1;
		int b = 1;
		int c = 0;
		//首先在控制台打印出数列中第一个数和第二个数的值
		System.out.print(a + "\t" + b + "\t");
		//建立一个for循环,用于循环输出数列中第三位至第十位的数字
		for (int i = 3; i <= 10; i++) {
			//第三个数即为c,a+b等于c的值
			c = a + b;
			//将第一个加数a赋值为数列中的第二个数b的值
			a = b;
			//将第二个加数b赋值为数列中的第三个数c的值
			b = c;
			//在第二次循环打印时,将打印数列中的第四个数为:b + c = b + (a + b) 
			System.out.print(c + "\t");
		}
	}
}

Diese Methode kann auch vereinfacht werden zu:

public class PrintFib {
	
	public static void main(String[] args) {
		
		int a = 1;
		int b = 1;	
		for(int i = 1;i <= 5;i++) {	
			//循环打印a,b两个数,即两个两个打印
			System.out.print(a + "\t" + b + "\t");
			//打印第三、四个数
			a = a + b;
			b = a + b;		
		}
	}
}

Der zweite Weg: Array erstellen und drucken

public class PrintFib {
	
	public static void main(String[] args) {
		
		//建立一个长度为10的数组用于存放数列中的数
		int[] arr = new int[10];
		//先定义数列中的第一个和第二个数
		arr[0] = 1;
		arr[1] = 1;
		//建立一个for循环,打印数组中的元素
		for(int i = 0;i < arr.length;i++) {
			//判断:当打印第三个数前,给第三个数赋值
			if(i > 1) {
				arr[i] = arr[i - 2] + arr[i - 1];
			}
			System.out.print(arr[i] + "\t");
		}
		
	}
}

Der dritte Weg: Funktion aufrufen

public class PrintFib {
	
	//建立一个函数,用于计算数列中的每一项
	public static int fib(int num) {
		//判断:是否是第一个数和第二个数
		if(num == 1 || num == 2) {
			return 1;
		}else {
			//循环调用本函数
			return fib(num - 2) + fib(num - 1);
		}
	}
	
	//主函数(程序入口)
	public static void main(String[] args) {
		
		//建立一个for循环,用于打印第一个至第十个数字
		for(int i = 1;i <= 10;i++) {
			//调用函数进行打印
			System.out.print(fib(i) + "\t");
		}	
	}
	
}

Weitere verwandte Artikel und Tutorials finden Sie unter: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten zur Implementierung der Fibonacci-Folge in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen