竞赛
考级
#include <bits/stdc++.h> using namespace std; long long a(long long b){ if(b1){ return 1; } else if(b2){ return 1; } else{ return a(b-1)+a(b-2); } } int main() { long long n; cin>>n; cout<<a(n); return 0; }
青梧叶
递推题解#include<bits/stdc++.h> using namespace std; int main(){ int n,a[1001]={0,1,1}; cin>>n; for(int i=3;i<=n;i++){ a[i] = a[i-1] + a[i-2]; } cout<<a[n]; return 0; }
151****4168
发个题解,虽然自己也是萌新 #include <iostream> using namespace std; int fun(int n){ if(n<=2)return 1; return fun(n-1)+fun(n-2); } int main(){ int n; cin>>n; cout<<fun(n); return 0; }
无语
顺便点个赞哟!
寒香舞
156****1040
zsy
#include <iostream> using namespace std; int f(int n){ if(n0){ return 0; } if(n1){ return 1; } return f(n-1)+f(n-2); } int main( ) { int n; cin>>n; cout<<f(n)<<endl; return 0; }
༺ཌༀ٩( 'ω' )و ༀད༻
C++?我不理解
「欢愉」花火
YuQing1919
复仇者_零
斐波纳契数列又称兔子数列 前两项是一后面一项都等于前两项的和 例:1 1 2 3 5 8 13 21…… 开头,先设三大框架 中间 首先我们要定义一个变量A来输入我们要找的斐波纳契数列中的第几个值,然后输入 然后定义一个数组B,因为斐波纳契数列前两项是一所以将他的第零项和第一项设为1 因为斐波纳契数列的一项是后两项之和所以我们写一个FOR循环 然后输出 代码
SYt3607
#include<iostream> using namespace std; long long f(int n){ if(n1 || n2){ return 1; } return f(n-1)+f(n-2); } int main(){ int a; cin>>a; cout<<f(a); return 0; }
Cynthia
这个是递归的解法
艾尔海森
132****3426
C.K.K.S.H
#include<bits/stdc++.h> using namespace std; int main(){ int n,a[10001]={0,1,1}; cin>>n; for(int i=3;i<=n;i++)a[i]=a[i-1]+a[i-2]; cout<<a[n]; return 0; }
D
#include<bits/stdc++.h> using namespace std; int f(int n){ if(n1 or n2) return 1; else return f(n-1)+f(n-2); } int main(){ int n; cin>>n; cout<<f(n); return 0; }
人
173****5754
#include<bits/stdc++.h> using namespace std; //寒冰射手原创!可抄! int main(){ int a,b[9999]={1}; cin>>a;//首先,输入数据a,定义数据b,用于存储n项是多少 for (int i = 2;i <= a+1;i++){ //遍历a次,算出斐波那契数列第a项 b[i] = b[i-2] + b[i-1];//把斐波那契数列的第i项存储到b数组中 } cout<<b[a+1];//输出斐波那契数列第a项 return 0; }
一株寒冰射手
共56条