#include <stdio.h>
// Рекурсивная функция для поиска n-го числа Фибоначчи
long long fibonacci(int n) {
// Базовые случаи
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
// Рекурсивный случай
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
// Читаем число
if (scanf("%d", &n) != 1) {
printf("n/a\n");
return 1;
}
// Проверяем, что число неотрицательное
if (n < 0) {
printf("n/a\n");
return 1;
}
// Вычисляем и выводим результат
long long result = fibonacci(n);
printf("%lld\n", result);
return 0;
}
cd ~/D03T03
# Компилируем
gcc -Wall -Werror -Wextra src/quest3.c -o quest3
# Тестируем
echo "0" | ./quest3
# Должно вывести: 0
echo "1" | ./quest3
# Должно вывести: 1
echo "5" | ./quest3
# Должно вывести: 5
echo "10" | ./quest3
# Должно вывести: 55
echo "21" | ./quest3
# Должно вывести: 10946
echo "-5" | ./quest3
# Должно вывести: n/a
# Добавляем файл
git add src/quest3.c
# Делаем коммит
git commit -m "Quest 3: Recursive Fibonacci number calculation
- Implement recursive fibonacci function
- Separate function for Fibonacci calculation
- Handle base cases (n=0, n=1)
- Output n/a for negative numbers"
# Отправляем
git push origin develop