机试7---斐波那契数列
作者:互联网
- 不断变换初始:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main(){
int f,f1=1,f2=1,n;
cin>>n;
if(n==1||n==2)
f=1;
else{
for(int i=3;i<=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
}
printf("%d\n",f);
system("pause");
return 0;
}
- 递推法:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int f[50];
int main(){
int i,n;
cin>>n;
f[1]=f[2]=1;
for(i=3;i<=n;i++)
f[i]=f[i-1]+f[i-2];
printf("%d\n",f[n]);
system("pause");
return 0;
}
- 递归法:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int fib(int);
int main(){
int i,n;
cin>>n;
printf("%d\n",fib(n));
system("pause");
return 0;
}
int fib(int n){
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}
标签:fib,f2,return,f1,int,---,机试,那契,include 来源: https://blog.csdn.net/qq_43595030/article/details/123084948