#include <stdio.h>
// 计算第 n 项的斐波那契数
int fibonacci_at(int n)
{
/*
* f1 : 比喻为指针,一开始指向第一项数
* f2 : 比喻为指针,一开始指向第二项数
* result : 由 f1 和 f2 求和而来,即为第三项的数
*
* 如在这样的斐波那契数列中:1, 1, 2, 3, 5, 8 ...
* f1 和 f2 的指向为: f1 f2
*/
int f1 = 1, f2 = 1, result = f1 + f2;
if (n < 3)
{
return 1;
}
/*
* 在这样的斐波那契数列中,只在计算第4项数才开始向右移动 f1 和 f2
*
* 计算第3项:1, 1, 2, 3, 5, 8 ...
* f1 f2
* 计算第4项:1, 1, 2, 3, 5, 8 ...
* f1 f2
* 计算第5项:1, 1, 2, 3, 5, 8 ...
* f1 f2
*/
while (n-- > 3)
{
f1 = f2;
f2 = result;
result = f1 + f2;
}
return result;
}
int main() {
int n = 0;
scanf("%d", &n);
printf("%d", fibonacci_at(n));
return 0;
} x=int(input()) a=1 b=1 for i in range(1,x-1): if i%2==0:b+=a else:a+=b print(max(a,b))
#include <iostream>
#include <cassert>
int fibonacci_sequence(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return fibonacci_sequence(n - 1) + fibonacci_sequence(n - 2);
}
}
int main()
{
int n;
// std::cout << "请输入一个正整数:";
std::cin >> n;
// std::cout << "您输入的正整数是:" << n << "\n";
assert(n >= 1 && n <= 46);
std::cout << fibonacci_sequence(n) << "\n";
return 0;
} #include <stdio.h>
int main() {
int a, b,c=1,v1=1,v2=0;
scanf("%d",&a);
for(b=1;b<a;b++){
c=v1+v2;
v2=v1;
v1=c;
}
printf("%d",c);
} #include <iostream>
using namespace std;
int f(int a)
{
if(a==1||a==2)
return 1;
else
return f(a-1)+f(a-2);
}
int main() {
int n;
cin>>n;
cout<<f(n);
}