| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1530 人关注过本帖, 1 人收藏
标题:关于阶乘数字和的问题,我输入数据测试时,从1到12都是没问题的,但是从13开 ...
只看楼主 加入收藏
踩不扁小强
Rank: 2
等 级:论坛游民
帖 子:46
专家分:39
注 册:2013-4-6
结帖率:91.67%
收藏(1)
已结贴  问题点数:20 回复次数:10 
关于阶乘数字和的问题,我输入数据测试时,从1到12都是没问题的,但是从13开始就错了,我找不到原因在哪里,求各位指出来
为什么我输入数据测试时,从1到12都是没问题的,但是从13开始就错了,我找不到原因在哪里,求各位指出来

/*阶乘数字和
我们知道一个数的阶乘n! = 1*2*……*n一般是一个很大的数。现在要计算的是一个数阶乘之后得出来的数所有位上的数字相加的和。
输入格式
输入为多case输入。每个case只有一行,输入一个正整数n(1<=n <= 50),当输入0时结束
输出格式
一个整数。
输入样例

5
2
0
输出样例
3
2
*/
#include <stdio.h>
int jiecheng(int n)
{
    int s=1;
    for(;n>1;n--)
    {
        s=s*n;
    }
    return s;
}
main()
{
    int n,k[800],i=0,c;        
    scanf("%d",&n);
    do
    {
        if(n>=1&&n<=50)
        {
            n=jiecheng(n);
            for(c=0;n!=0;n=n/10)
            {
                c+=n%10;
            }
            k[i]=c;
            i++;
        }
        scanf("%d",&n);
    }while(n!=0);
    k[i]=0;
    for(i=0;k[i]!=0;i++)
        printf("%d\n",k[i]);
}
搜索更多相关主题的帖子: include 正整数 
2013-10-22 13:29
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
错误是什么
2013-10-22 13:32
踩不扁小强
Rank: 2
等 级:论坛游民
帖 子:46
专家分:39
注 册:2013-4-6
收藏
得分:0 
回复 2楼 tlliqi
就是我输入的数据中从1到12输出的结果都是没问题的,但是输入13以后的数输出的结果都不对。
2013-10-22 13:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:4 
我用windows自带的计算器,算了一下,50! 需要 215bits 才能存得下
如果忽略掉50!尾部的零,还需要 175bits
2013-10-22 14:12
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:4 
13阶乘超出int能表示的范围了

好好学习,天天想上
2013-10-22 16:09
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:4 
参照用数组处理大数阶乘

www.qunxingw.wang
2013-10-22 17:00
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:4 
阶乘的和            定义成      double          类型

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-10-22 21:49
lsh496100
Rank: 2
等 级:论坛游民
帖 子:14
专家分:23
注 册:2013-10-16
收藏
得分:4 
用long k[]
2013-10-22 21:53
踩不扁小强
Rank: 2
等 级:论坛游民
帖 子:46
专家分:39
注 册:2013-4-6
收藏
得分:0 
回复 6楼 qunxingw
不是很明白
2013-10-22 22:11
踩不扁小强
Rank: 2
等 级:论坛游民
帖 子:46
专家分:39
注 册:2013-4-6
收藏
得分:0 
回复 7楼 小小程序猿
定义成DOUBLE型后那个取余的运算c+=n%10就不行了
2013-10-22 22:21
快速回复:关于阶乘数字和的问题,我输入数据测试时,从1到12都是没问题的,但是 ...
数据加载中...
 
   



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

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