Реалізуємо рекурсивну функцію, яка генерує -й рядок Фібоначчі.
Реалізація алгоритму
Функція f повертає -й рядок Фібоначчі.
string f(int n)
{
if (n == 0) return "a";
if (n == 1) return "b";
return f(n-1) + f(n-2);
}Основна частина програми. Читаємо вхідне значення і виводимо -й рядок Фібоначчі.
cin >> n;
cout << f(n) << endl;Реалізація алгоритму — без STL
Функція f повертає -й рядок Фібоначчі.
void f(int n)
{
if (n == 0)
{
printf("a"); return;
}
if (n == 1)
{
printf("b"); return;
}
f(n-1);
f(n-2);
}Основна частина програми. Читаємо вхідне значення і виводимо -й рядок Фібоначчі.
scanf("%d",&n);
f(n); printf("\n");Java реалізація
import java.util.*;
public class Main
{
static String f(int n)
{
if (n == 0) return "a";
if (n == 1) return "b";
return f(n - 1) + f(n - 2);
}
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
System.out.println(f(n));
con.close();
}
}Python реалізація
Функція f повертає -й рядок Фібоначчі.
def f(n):
if n == 0:
return "a"
elif n == 1:
return "b"
else:
return f(n-1) + f(n-2)Основна частина програми. Читаємо вхідне значення і виводимо -й рядок Фібоначчі.
n = int(input())
print(f(n))