相信题目都看得懂,分享一个自己的方法
#include <iostream> #include <cstdio> using namespace std; int main() { int a=0,b=1,n,m; cin>>n; m=n; for(int i=2;i<=m;i++) { n=a+b; a=b; b=n; } cout<<n; return 0; }
递推,输出一行,需要记忆的数据只有两个,就是f(n-1)和f(n-2),所以索性用两个变量a,b存着,变量m存一下要求第几位数字,然后就是循环递推。
也有别的扩展性更好的方法,但是对于斐波那契数列来说,这个就够了(个人想法)