피보나치 수열 C++

Pibonachi Suyeol C



피보나치 수열/수열은 일련의 마지막 두 숫자의 합을 통해 다음 숫자를 얻을 때 생성되는 일련의 숫자입니다. 처음 두 숫자는 항상 0과 1입니다. 피보나치 수열은 모든 프로그래밍 언어에서 얻을 수 있지만 여기서는 C++ 프로그래밍 언어의 소스 코드를 적용합니다. 수학에서 피보나치의 수열은 샘플 공식을 갖는 재귀 관계를 통해 설명됩니다.

Fn = Fn-1 + Fn-2

이 자습서에는 일련의 피보나치 수를 생성하는 다양한 방법론이 포함되어 있습니다.







예 1



이 예제에서는 먼저 입력 및 출력 스트림 라이브러리를 사용하여 cin 및 cout 스트림을 활성화하고 사용자의 참여도 이 라이브러리를 통해 권장됩니다. 메인 프로그램 내에서 두 개의 정수형 변수를 가져와 0 값으로 선언합니다. 0으로 초기화되고 나중에 사용하기 위해 배치되는 또 다른 nextterm 변수도 사용됩니다. 사용자에게 피보나치 수열에 필요한 숫자를 입력하도록 요청할 것입니다. 즉, 출력으로 표시되는 줄 수는 사용자의 입력에 따라 다릅니다. 사용자가 입력할 특정 숫자, 결과에는 이 줄에 답이 포함됩니다.







시퀀스를 계산하기 위해 사용자가 입력하는 특정 숫자까지 반복하려면 'for' 루프가 필요합니다. 이것은 여러 줄에 의한 일종의 제한입니다. 숫자를 확인하기 위해 if 문이 사용됩니다. 하나이면 변경 없이 그대로 표시합니다. 마찬가지로 두 번째 숫자도 마찬가지로 표시됩니다. 피보나치 수열에서는 처음 두 숫자가 표시됩니다. 앞으로 진행하기 위해 우리는 continue 문을 사용했습니다. 계열을 추가로 계산하기 위해 두 값을 모두 추가합니다. 그리고 이것은 시리즈의 세 번째 숫자가 될 것입니다. 스와핑 프로세스가 시작된 후 첫 번째 변수에는 두 번째 변수의 값이 할당되고 두 번째 변수에는 nextterm 변수에 저장된 세 번째 값이 포함됩니다.

차항 = t1 + t2;



T1 = t2;

T2 = 다음 학기;

이제 각 값이 쉼표로 구분되어 표시됩니다. 컴파일러를 통해 코드를 실행합니다. '-o'는 입력 파일에 있는 코드의 출력을 저장하는 데 사용됩니다.

$ 지++ -영형 fib fib.c
$ . / 악의 없는 거짓말

프로그램이 실행될 때 사용자가 입력한 숫자 7을 입력하도록 요청하면 피보나치 수열이 7번째 지점에 도달한 지점에 관계없이 결과는 7줄이 됩니다.

예 2

이 예제에는 nextterm 값을 제한하여 피보나치 수열의 계산이 포함됩니다. 이는 피보나치 수열을 원하는 범위까지 지정된 숫자를 제공하여 사용자 정의할 수 있음을 의미합니다. 이전 예제와 달리 결과는 라인 수가 아니라 숫자로 제공되는 시리즈 수에 따라 달라집니다. 우리는 메인 프로그램에서 시작할 것이고 변수는 동일하며 사용자 참여의 접근 방식도 동일합니다. 따라서 두 개의 첫 번째 변수는 처음에 0으로 초기화되고 nextterm 변수는 0으로 선언됩니다. 그런 다음 사용자가 번호를 입력합니다. 그런 다음 항상 0과 1인 처음 두 항이 표시됩니다.

nextterm 값은 처음 두 변수에 있는 숫자를 더하여 얻은 값에 할당됩니다. 여기서는 nextterm 변수의 값이 사용자가 지정한 숫자 이하가 될 때까지 계열을 생성하는 조건을 적용하기 위해 while 루프를 사용합니다.

동안 (다음 항 <= n)

이 while 루프 내에서 숫자를 역방향으로 교환하여 논리가 적용됩니다. nextterm 변수는 변수 값을 다시 추가합니다.

차항 = t1 + t2;

이제 파일을 저장하고 컴파일하여 터미널에서 코드를 실행합니다.

코드를 실행하면 시스템에서 양수여야 하는 숫자를 요구합니다. 그러면 계산 시 55번째 숫자까지 일련의 숫자가 표시되는 것을 볼 수 있습니다.

예 3

우리가 언급할 이 소스 코드에는 피보나치 수열을 계산하는 다른 방법이 포함됩니다. 지금까지 우리는 메인 프로그램 내부에서 시리즈를 계산했습니다. 이 예에서는 이 일련의 숫자를 계산하기 위해 별도의 함수를 사용합니다. 함수 내에서 프로세스를 계속하기 위해 재귀 호출이 이루어집니다. 따라서 재귀의 예이기도 합니다. 이 함수는 계열이 계산되는 최대 매개변수의 숫자를 사용합니다. 이 번호는 메인 프로그램에서 전송됩니다. if 문은 숫자가 1보다 작거나 같은지 확인한 다음 숫자 자체를 반환하는 데 사용됩니다. 계열을 계산하려면 최소 두 개의 숫자가 필요하기 때문입니다. 두 번째 경우 조건이 거짓이 되어 숫자가 1보다 크면 함수 자체에 대한 재귀 호출을 반복하여 사용하여 계열을 계산합니다.

피브(n-1) + 피브(n-2);

이것은 첫 번째 부분에서 전체 숫자가 함수에 전달되기 전에 하나의 숫자가 전체 숫자 이전의 두 숫자를 매개 변수로 포함하는 셀에서 얻은 숫자에서 해당 값을 뺀다는 것을 보여줍니다.

이제 메인 프로그램에서 번호가 변수에 할당되고 첫 번째 함수 호출이 수행되어 번호를 함수에 전달합니다. 이제 터미널에서 파일의 소스 코드를 실행하여 답을 얻으십시오. 여기에서 입력한 숫자가 7이므로 '13'이 답임을 알 수 있으므로 시리즈는 0+1+1+2+3+5+8+13이 됩니다.

예 4

이 예제는 피보나치 수열을 계산하는 OOP(객체 지향 프로그래밍) 접근 방식을 포함합니다. 클래스 GFG가 생성됩니다. 공개 부분에서 피보나치 수열을 저장할 배열을 포함하는 함수가 생성됩니다.

에프[n+2];

여기서 n은 처음에 0으로 선언된 숫자입니다.

F[0] = 0;

F[1] = 1;

인덱스 0과 1의 숫자는 0과 1로 선언됩니다.

그런 다음 피보나치 수열이 계산되는 'for' 루프가 사용됩니다. 이전 두 번호가 시리즈에 추가되어 저장됩니다.

F[i] = f[i-1] + f[i -2];

그런 다음 특정 인덱스의 특정 번호가 반환됩니다.

객체를 사용하여 함수 호출이 이루어집니다.

g.fib(n);

이제 코드를 실행하면 숫자가 11이므로 시퀀스는 11번째 자리까지임을 알 수 있습니다.

결론

이 기사 '피보나치 수열 C++'은 앞의 두 숫자를 추가하여 수열을 만드는 데 사용되는 다양한 접근 방식을 혼합한 것입니다. 간단한 스와핑 기술과 재귀 방법 및 배열의 ​​도움으로 이러한 숫자를 연속적으로 생성할 수 있습니다. 피보나치 수열을 생성하려면 숫자가 정수 데이터 유형인 것이 좋습니다. 라인 수와 시퀀스 수에 제한을 적용하여 시리즈를 계산할 수 있습니다.