hdoj2070斐波那契数列

来源:互联网 发布:name域名优惠码 编辑:程序博客网 时间:2024/05/05 00:53

没有一把过,是__int64的问题(在我的电脑上是__int64_t),其实用long long int 也一样啦。

有个小技巧,遇到这种大数处理,可以先存起来,不必等到输入的时候再计算。

#include <stdio.h>#include "string.h"long long int s[51];int n;int main() {    memset(s, 0, 51);    s[1]=1;    for(int i=2;i<51;i++){        s[i]=s[i-1]+s[i-2];    }    while (scanf("%d",&n)==1&&n!=-1) {        printf("%lld\n",s[n]);    }    return 0;}

再贴上我用递归做的,超时代码,警醒世人==

#include <stdio.h>long long int fb(int n){    if(n==0)       return 0;    if(n==1)      return 1;    else       return fb(n-1)+fb(n-2);}int main() {    int n;    while (scanf("%d",&n)==1&&n!=-1) {        printf("%lld\n",fb(n));    }return 0;}
0 1
原创粉丝点击