c語言求大數階乘,10000的階乘

2021-09-25 05:47:23 字數 636 閱讀 7924

10000以內階乘,在c語言中沒有型別可以以儲存這麼大的數,所以我們可以用陣列來存它,int a[10005];這裡10005只是習慣,當然,也可以用斯特靈公式來算a陣列的大小

下面附上**:

題解請看**注釋,

#include 

int a[

100000];

int main()

//這層迴圈使得a陣列每個數都是個一位數

for(j =

0; j < temp; j++

)//判斷最高位,進行進製

if(a[j]

>0)

//j當前的值可表示為求完一輪階乘的位數,將j傳遞給temp!

temp = j +1;

}}//從後往前依次輸出

for(i = temp -

1; i >=

0; i--

)printf

("%d"

, a[i]);

printf

("\n");

return0;

}

感謝**!!

求n的階乘(10000)

題意 如題目 思路 用乙個陣列,陣列的每一位存乙個8位數,兩個for迴圈,不斷從1開始累乘。include include include include using namespace std const int maxn 100000000 注意不能超過long long 的表示範圍 long ...

求10000以內n的階乘

經過我n天的努力,終於把大整數的階乘的乙個演算法看懂了!什麼智商嘛,打擊死我自己了。什麼是大整數的階乘呢,就是結果無論用c 語言中的哪一種資料型別都不能儲存的。既然不能用一種資料型別儲存,那麼只能想其他的辦法儲存了。呵呵,就像 於是,我們自然而然的想到了用陣列來儲存數字。建立乙個int的陣列。因為i...

大數問題 超大數(10000以內)的階乘

問題分析 很容易發現,由於n的範圍很大,一般簡單的階乘演算法肯定會溢位,因為當20 已經接近long long的上限了。下面基於上面的思想,給出此題的兩種 實現 事先製表 includeusing namespace std define n 10005 vecto ctorial n void c...