| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 815 人关注过本帖
标题:答案错误50%,真不知道为什么会这样,大神给看看。
只看楼主 加入收藏
赤云
Rank: 2
等 级:论坛游民
帖 子:82
专家分:35
注 册:2014-12-29
结帖率:64.71%
收藏
 问题点数:0 回复次数:0 
答案错误50%,真不知道为什么会这样,大神给看看。
题目网址:http://
题目:
题目描述
定义:
f(1)=1, f(2)=1, f(n>2)=f(n-1)+f(n-2)
我们把符合以上定义的序列称为斐波那契序列,现在给你一个数字n,请你求出f(n)。
输入
输入包含多组测试数据。每组数据为一个正整数n。
输出
输出对应的f(n)。题目保证结果不会超过1000位数字。
样例输入
100
样例输出
354224848179261915075
我的代码:
程序代码:
#include <stdio.h>
#include <string.h>
char f[10000][1001];
int add(const char *a, const char *b, char *result,int N)
{
    char *p1 = strchr(a, 0)-1;
    char *p2 = strchr(b, 0)-1;
    result[N] = '\0';
    int left, right, c, carry = 0;
    int j=0,i,t,len;
    while (p1 >= a || p2 >= b)
    {
        left  = (p1 >= a) ? *p1 : '0';
        right = (p2 >= b) ? *p2 : '0';
        c = (left-'0') + (right-'0') + carry;
        carry = c/10;
        result[j++]=c % 10 + '0';
        result[j]=carry +'0';
        --p1; --p2;
    }
    result[j+1]='\0';
    len=strlen(result);
    for(i=0;i<len/2;i++){
        t=result[i];
        result[i]=result[len-i-1];
        result[len-i-1]=t;
    }
    return j+1;
}

int main(){
    int n,i,last=2,max=0;
    f[0][0]=f[1][0]='1';
    while(scanf("%d",&n)!=EOF){
        if(n<3){
            printf("%s\n",f[n-1]);
            continue;
        }
        if(max<n)
            max=n;
        for(i=last;i<max;i++){
            add(f[i-1],f[i-2],f[i],1000);
            if(f[i][0]=='0')
                strcpy(f[i],&f[i][1]);
        }
        last=max;
        printf("%s\n",&f[n-1][0]);
    }
    return 0;
}
测试文件:/test.out   结果:答案错误
 =======原因======
 当参考答案输出:
 79665220964720909188841109484886582592430623
 -------时---------
 你的程序输出:
 24204667906615555443036133086749222611890814
 =================
测试文件:/sample.out   结果:答案正确


[ 本帖最后由 赤云 于 2015-8-27 17:51 编辑 ]
搜索更多相关主题的帖子: 正整数 color 
2015-08-27 16:22
快速回复:答案错误50%,真不知道为什么会这样,大神给看看。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025120 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved