| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:大数n的阶乘,为什么提交显示运行错误
只看楼主 加入收藏
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
结帖率:53.85%
收藏
已结贴  问题点数:20 回复次数:6 
大数n的阶乘,为什么提交显示运行错误
http://acm.hdu.


#include <stdio.h>

int main()
{
    int i,n,h,j,t;
    int z[10086];
    while(scanf("%d",&n)!=EOF)
    {
        z[1]=1;t=1;
        for(i=2;i<=n;i++)
        {
            h=0;
           for(j=1;j<=t;j++)
           {
             z[j]=z[j]*i+h;
             h=z[j]/10;
             z[j]=z[j]%10;
           }
         while(h>0)
         {
            z[j]=h%10;
            h=h/10;
            j++;
         }
          t=j-1;
        }
        for(i=t;i>=2;i--)
            printf("%d",z[i]);
        printf("%d\n",z[1]);
    }
    return 0;
}
2015-02-13 16:36
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:5 
没错啊  运行正确!!!

授人以鱼,不如授人以渔
2015-02-13 17:08
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
收藏
得分:0 
提交就显示运行错误……
2015-02-13 17:34
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 3楼 z1443043531
编译器的问题吧

授人以鱼,不如授人以渔
2015-02-13 17:42
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
收藏
得分:0 
回复 4楼 执笔画江山
不会吧,有提交对的呀,我想知道运行错误都有什么情况
2015-02-14 16:01
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:15 
int z[10086];改成int z[100086];
数组小了,你一个整形数只表示1位10进制数,1万位肯定不够。通常会让一个整形数表示5位,数组即可设小点。

能编个毛线衣吗?
2015-02-15 05:41
z1443043531
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2015-1-23
收藏
得分:0 
回复 6楼 wmf2014
那是不是10000位的话最小数组应该是50000
2015-02-15 13:12
快速回复:大数n的阶乘,为什么提交显示运行错误
数据加载中...
 
   



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

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