| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:求解:长整数的阶乘运算,程序代码看不懂,哪位大神帮帮忙啊、、、、、、
取消只看楼主 加入收藏
乖乖兔崽vv
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-7-5
收藏
 问题点数:0 回复次数:1 
求解:长整数的阶乘运算,程序代码看不懂,哪位大神帮帮忙啊、、、、、、
#include <stdio.h>
#define N 10000
int main()
{   
    int a[N]={1};   
    char d[4]={0};   
    int i,j,t,e,f=1,m=0;   
    int l=0;   
    int k=0;   
    int n;   
    char ch='N';   
    printf("n=");   
    scanf("%d",&n);   
    for(i=1;i<=n;i++)   
    {               
        for(j=0;j<=l;j++)        
        {                        
            a[j]=a[j]*i+k;                        
            k=a[j]/10000;            
            a[j]=a[j]%10000;                    
        }        
        if(k)        
        {            
            l++;            
            a[j]=k;            
            k=0;        
        }   
    }   
    t=a[l];   
    while(t)   
    {        
        d[m]=t%10;        
        t/=10;        
        m++;   
    }   
    e=4*l+m-1;   
    if(e>30)   
    {               
        printf("%d!=%d.",n,d[m-1]);        
        for(i=m-2;i>=0;i--)        
        {            
            printf("%d",d[i]);        
        }            
        for(i=0;i<8;i++)        
        {            printf("%04d",a[l-1-i]);
        
        }        
        printf("E+%d\n",e);        
        printf("输出精确值?(Y/N)");        
        getchar();        
        ch=getchar();        
        if(ch!='y'&&ch!='Y')            
            f=0;   
    }   
    if(f)   
    {        
        i=l;        
        printf("%d!=%d",n,a[i--]);        
        for(;i>=0;i--)        
        {            
            printf("%04d",a[i]);        
        }   
    }
    printf("\n");   
    return 0;
}
搜索更多相关主题的帖子: include 
2013-07-05 16:25
乖乖兔崽vv
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-7-5
收藏
得分:0 
解释大概流程就行
2013-07-05 16:30
快速回复:求解:长整数的阶乘运算,程序代码看不懂,哪位大神帮帮忙啊、、、、、 ...
数据加载中...
 
   



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

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