| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1361 人关注过本帖
标题:(有兴趣者请帮)求任意数的阶乘
只看楼主 加入收藏
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
(有兴趣者请帮)求任意数的阶乘
各位:
    下面这道程序我打算用来求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
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
100万的估计要算很长时间,那么大了已经没有意义了(除非练习算法)
我曾经编过一个可以计算到10万的,分析看楼主程序的原因可能出在数组定义过小(我没全读程序,只看了看数组下标定义,因为350!有740多位,如果再大就越界了)

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-11 22:37
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2008-01-11 22:42
gxl1127
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-6-12
收藏
得分:0 
谢谢各位
谢谢版主,谢谢各位指点!
2008-01-12 20:29
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
现在都不怎么用goto了,以前学弹片机的时候学过跳转.如果用goto会让程序缺少可读性
2008-01-12 23:05
wangkong123
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-12-6
收藏
得分:0 
你定义N的时候已经定义N是350了呀
2008-01-20 22:32
快速回复:(有兴趣者请帮)求任意数的阶乘
数据加载中...
 
   



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

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