求助:为什么递归不可以递推可以?
查看原帖
求助:为什么递归不可以递推可以?
316762
梦幻之旅楼主2020/8/29 17:05

这是递归(40分,3个测试点TLE)

#include<bits/stdc++.h>
using namespace std;
long long f(int n){
	if(n==1||n==2) return 1;
	else return f(n-1)+f(n-2); 
} 
int main(){
	int n;
	cin>>n;
	cout<<fixed<<setprecision(2)<<f(n)*1.00<<endl;
	return 0;
}

这是递推,100分

#include<bits/stdc++.h>
using namespace std;
long long a[49];
int main(){
	int n;
	cin>>n;
	a[1]=1,a[2]=1;
	for(int i=3;i<=n;i++){
		a[i]=a[i-1]+a[i-2];
	}
	cout<<a[n]<<".00"<<endl;
	return 0;
}

2020/8/29 17:05
加载中...