C语言计算100!

来源:互联网 发布:贵阳大数据产业 编辑:程序博客网 时间:2024/06/05 17:42

今天早上闲来没事算了一下100的阶乘。计算结果如下:

100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000


下面上代码#include <stdio.h>#define SIZE 1000int num[SIZE];void multiply(int a[],int x,int size); int main(){    /* 初始化数组 */    for(int i=0;i<SIZE;i++)    {        num[i]=0;    } /* 计算 */    num[0]=1;     for(i=1;i<=100;i++)    {        multiply(num,i,SIZE);    } /* 输出结果  */    printf("100!=\n");    i=SIZE-1;    while(num[i]==0)    {        i--;    }    for(int j=i;j>=0;j--)        printf("%d",num[j]);    printf("\n");     return 0;}void multiply(int a[],int x,int size){    int temp=0;    for(int i=0;i<size;i++)    {        temp=a[i]*x+temp/10;        a[i]=temp%10;    }}