C/Java - 斐波那契数列
在本 C 和 Java 教程中,您将学习如何计算和显示前 N 个斐波那契数。斐波那契数列的定义如下:
n ≥ 1 如 U1=U2=1
and
Un = A-1+Un-2 for everything n ≥ 2
我们选择进行递归处理,作为输入整数 n,作为输出序列的秩 n 的项。以下是递归的两种情况:
斐波那契词分形
>1- C
下面的程序使用迭代方法打印斐波那契数列的前 20 个数字。每个 术语是通过将序列中的前两个项相加而形成的。从术语 1 和 1.
输出:#include
#include
main() {
int n1 = 1, n2 = 1, n3;
printf(%d %d ”, n1 ,n2 );
for (int i = 0; i < 18; i++) { //接下来的18项循环
n3= n2 + n1; //下一项是前两项的总和
printf(%d ”, n3);
n1 = n2;第一个上一个变为第二个上一个
n2 = n3;当前数字变为 previous
}
printf(\n”);
system(暂停”);
}
2- Java 中的斐波那契:
我们选择进行递归处理,作为输入整数 n,作为输出序列的秩 n 的项。以下是递归的两种情况:
- 如果 n 小于或等于 1,则 n 取两个值 0 或 1。fib(0)=0 和 fib(1)=1.
- 否则,递减到第二项的 n
导入 java.io.InputStreamReader;
import java.util.Scanner;
/*
* 计数并显示前 N 个斐波那契数。
*/
public class 斐波那契 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
//显示第一个N斐波那契数
for(int i = 1 ; i <= N ; i++)//从n=1
System.out.println(i + : ” + fib(i))开始;
}
private static int fib(int n) {
if (n <= 1) return n;
else 返回 fib(n-1) + fib(n-2);
}
}
输出:20
fib(1)= : 1
fib(2)= : 1
fib(3)= : 2
fib(4)= : 3
fib(5)= : 5
fib(6)= : 8
fib(7)= : 13
fib(8)= : 21
fib(9)= : 34
fib(10)= : 55
fib(11)= : 89
fib(12)= : 144
fib(13)= : 233
fib(14)= : 377
fib(15)= : 610
fib(16)= : 987
fib(17)= : 1597
fib(18)= : 2584
fib(19)= : 4181
fib(20)=: 6765