程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言 求一個大數的階乘

C語言 求一個大數的階乘

編輯:關於C語言

C語言 求一個大數的階乘
[cpp] 
void BigFactorial(int m) 

    static int a[50000]={0,1};//第一位不用 
    int i,j,carry,tmp,lenth=1;//carry表示進位 
     
    for (i=2;i<=m;i++) 
    { 
        carry=0; 
        for (j=1;j<=lenth;j++) 
        { 
            //乘法轉化為加法和進位 
            tmp=a[j]*i+carry; 
            a[j]=tmp%10; 
            carry=tmp/10; 
 
            //如果有進位,則向前擴展一位 
            if (j==lenth&&carry!=0) 
                lenth++; 
        } 
    } 
    for(int k=lenth;k>=1;k--) 
        printf("%d",a[k]); 

下面計算1000的階乘:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved