大数阶乘 1977!

Description

编写一个程序,计算1977!的值

#include<stdio.h>
int main()
{
    int r[100000]={1};
    int i,j;
    int k=0,l=0;
     
    for(i=1;i<=1977;i++)//计数:从1乘到n 
    {       
        for(j=0;j<=l;j++) 
        {           
            r[j]=r[j]*i+k;  //实现阶乘,同时完成进位:+k.       
            k=r[j]/10000;
            r[j]=r[j]%10000;//只存后四位,k存超过四位的那个进位数            
        }
        if(k)//进位数不为0 
        {
            l++;
            r[j]=k;//进位 
            k=0;//进完位,重置k 
        }
        j=l; 
    }
        printf("%d",r[j--]);
        for(;j>=0;j--)
        {
            printf("%04d",r[j]);
        }
        printf("\n");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/holly_z_p_f/article/details/80161521
今日推荐