主题:[讨论]请问时间复杂度?
请问时间复杂度?
斐波那契数列(2)
这是我写的
#include<stdio.h>
int main(void)
{
double f1,f2;
double sum;
int i,n;
while(scanf("%d",&n))
{
sum=1.0;
f1=f2=1.0;
for(i=1;i<n;i++)
{
f1=f1+f2;
f2=f1-f2;
sum+=f1/f2;
}
printf("%.3lf\n",sum);
}
return 0;
}
这个是另一个
#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
int main()
{int n;
while(cin>>n)
{
double i1=1,i2=1;
double resultnum=0;
for(int i=1;i<=n;i++)
{resultnum+=i2/i1;
double temp=i2;
i2+=i1;i1=temp;
}
printf("%.3lf\n",resultnum);
}
return 0;
}
我想问的是为什么我的就会超时呢?
我是个新手,之前只是想把题目做出来,现在想把题目做好,希望解答下!谢谢!
斐波那契数列(2)
这是我写的
#include<stdio.h>
int main(void)
{
double f1,f2;
double sum;
int i,n;
while(scanf("%d",&n))
{
sum=1.0;
f1=f2=1.0;
for(i=1;i<n;i++)
{
f1=f1+f2;
f2=f1-f2;
sum+=f1/f2;
}
printf("%.3lf\n",sum);
}
return 0;
}
这个是另一个
#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
int main()
{int n;
while(cin>>n)
{
double i1=1,i2=1;
double resultnum=0;
for(int i=1;i<=n;i++)
{resultnum+=i2/i1;
double temp=i2;
i2+=i1;i1=temp;
}
printf("%.3lf\n",resultnum);
}
return 0;
}
我想问的是为什么我的就会超时呢?
我是个新手,之前只是想把题目做出来,现在想把题目做好,希望解答下!谢谢!