| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1361 人关注过本帖
标题:(有兴趣者请帮)求任意数的阶乘
取消只看楼主 加入收藏
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
结帖率:66.67%
收藏
 问题点数:0 回复次数:1 
(有兴趣者请帮)求任意数的阶乘
各位:
    下面这道程序我打算用来求1000000的阶乘的,但是现在调试到350左右的阶乘时就报错了。为什么?求帮忙调试一下,谢谢!

/*求百万以内数的阶乘*/
#define N 350  //N为所求阶乘的数
#include<stdio.h>
void main()
{
    long int i;        //乘数,从2至N
    int j;            //数组下标
    long int k;        //进位数
    int a[750];        //保存每次相乘的结果
        k=0;
        a[0]=1;
        for(i=2;i<=N;i++)
        {
            j=0;            
            a[j]=a[j]*i+k;
            k=a[j]/10;
            a[j]%=10;
l1:            if((k<=0)&&(a[j+1]<0))
            {
                continue;
            }
            else if((k>0)&&(a[j+1]<0))
            {
                j++;
                a[j]=k;
                k=a[j]/10;
                a[j]%=10;
                goto l1;
            }
            else if((k>=0)&&(a[j+1]>=0))
            {
                j++;
                a[j]=a[j]*i+k;
                k=a[j]/10;
                a[j]%=10;
                goto l1;
            }            
        }
        for(;j>=0;j--)
        {
            printf("%d",a[j]);
        }
        printf("\n\n\n");
}
搜索更多相关主题的帖子: 阶乘 兴趣 
2008-01-11 21:29
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
收藏
得分:0 
谢谢各位
谢谢版主,谢谢各位指点!
2008-01-12 20:29
快速回复:(有兴趣者请帮)求任意数的阶乘
数据加载中...
 
   



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

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