C/Java - 피보나치 수열

이 C 및 Java 자습서에서는 첫 번째 N 피보나치 수를 계산하고 표시하는 방법을 배웁니다.

피보나치 수열은 다음과 같이 정의됩니다.

    n ≥ 1    U1=U2=1
    그리고
    Un = A-1+Un-2   모든 것  n ≥ 2


C/Java - 피보나치 급수 프랙탈
피보나치 단어 프랙탈

1- C의 피보나치

아래 프로그램은 피보나치 수열의 처음 20 개의 숫자를 반복 방법으로 인쇄합니다. 각  term은 시퀀스에서 앞의 두 항을 더하여 구성됩니다. 용어 1 및 1.
#include< stdio.h> 
#include< stdlib.h입니다>

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; 그리고 현재 숫자는 이전이 됩니다
}
printf("\n");
시스템("일시 중지");
}
출력 : < / span>

C++ - 반복 방법을 사용하는 피보나치 수열의 처음 20개 숫자

2- Java의 피보나치:


우리는 정수 n을 입력하고 시퀀스의 순위 n의 항을 출력으로 재귀 처리를 수행하기로 선택했습니다. 다음은 재귀의 두 가지 경우입니다.
  • n이 1보다 작거나 같으면 n은 0 또는 1의 두 값을 취합니다. fib(0)=0 및 fib(1)=1.
  • 그렇지 않으면 반복이 n 에서 시작하여 두 번째 용어로 감소합니다.
import java.io.InputStreamReader; 
import java.util.스캐너;

/*
* 처음 N개의 피보나치 수를 세고 표시합니다.
*/
public class 피보나치 {

public static void main(String[] args) {

스캐너 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;
그렇지 않으면 fib(n-1) + fib(n-2)를 반환합니다.
}
}
출력 : < / span>
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