Введение
В этом практическом занятии вы научитесь создавать C-программу для вывода последовательности Фибоначчи с использованием рекурсии. Последовательность Фибоначчи определяется как последовательность, в которой каждое число равно сумме двух предыдущих чисел, начиная с 1, 1, которые являются первыми двумя элементами последовательности.
Создайте новый файл C
Создайте новый C-файл с именем main.c в каталоге ~/project/.
Подключите необходимые библиотеки
Подключите необходимую стандартную библиотеку ввода/вывода stdio.h.
#include<stdio.h>
Определите функцию printFibo
Определите функцию с именем printFibo с параметром aj. Она используется для вывода последовательности Фибоначчи.
void printFibo(int aj)
{
static long int first = 0, second = 1, sum;
if(aj > 1)
{
sum = first + second;
first = second;
second = sum;
printf("%ld ", sum);
printFibo(aj-1); // recursive call
}
else
{
// after the elements, for line break
printf("\n\n\n");
}
}
Определите главную функцию
Определите главную функцию. Получите ввод от пользователя для общего количества элементов в последовательности Фибоначчи и передайте его в функцию printFibo.
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int k, n;
long int i = 0, j = 1;
printf("Enter the length of the Fibonacci series: ");
scanf("%d", &n);
printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
printf("%d ", 1);
printFibo(n);
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
return 0;
}
Завершите код
Теперь полная программа для вывода последовательности Фибоначчи с использованием рекурсии приведена ниже:
#include<stdio.h>
// declaring the function
void printFibo(int);
int main()
{
printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
int k, n;
long int i = 0, j = 1;
printf("Enter the length of the Fibonacci series: ");
scanf("%d", &n);
printf("\n\nFirst %d terms of the Fibonacci series are:\n\n\n",n);
printf("%d ", 1);
printFibo(n);
printf("\n\n\t\t\tCoding is Fun!\n\n\n");
return 0;
}
void printFibo(int aj)
{
static long int first = 0, second = 1, sum;
if(aj > 1)
{
sum = first + second;
first = second;
second = sum;
printf("%ld ", sum);
printFibo(aj-1); // recursive call
}
else
{
// after the elements, for line break
printf("\n\n\n");
}
}
Резюме
В этом практическом занятии вы узнали, как создать программу на C для вывода последовательности Фибоначчи с использованием рекурсии. Теперь вы понимаете процесс определения функций и использования рекурсии для перебора необходимой последовательности.



