杭电2070

此题的是Fibbonacci数列的一个简单变形题,此题的意思是:

对于每个给定的整数n,求出对应位置上f(n),

它给的公式是:f(0) = 0
                   f(1) = 1
                   f(n) = f(n-1) + f(n-2)

它公式都给了!等什么,赶快AC吧!!!

*注意一下本题要使用64位整数及__int64,输出要用printf("%I64d\n",a[n]);否则将溢出!!!

#include<iostream>
using namespace std;
int main()
{
 __int64 a[55];int n,i;
 while(cin>>n&&n!=-1)
 {
     a[0]=0;
     a[1]=1;
     for(i=2;i<=n;i++)
   a[i]=a[i-1]+a[i-2];
  printf("%I64d\n",a[n]);
 }
 return 0;
}

你可能感兴趣的:(杭电)