n的階乘最後乙個非0的數

2021-06-13 12:04:18 字數 676 閱讀 3073

哈哈~要說這個題目,中午比賽的時候1ac了、、歸功於之前寫過的求大數的階乘這個演算法啊。。

在電腦上除錯了一會,發現求階乘的過程是一段段輸出的。。就比如說10的階乘,先輸出362,然後8800,

知道了這點,那麼求n的階乘最後乙個非0的數就變得很簡單了。。只要加個while判斷一下,就ok了、、

#include#include#include#includeusing namespace std;

#define n 10005

int main()

long s[n] = ;

len = 1;

for(i= 2; i <= n; i ++)

if(s[j] > 10000 )

} int tt;

int flag = 0;

for (int j = 0; j < len; j ++)

}if(flag == 1)

} }

return 0;

}

好吧。看到他們的**了、、好簡單啊。。。

#includeint main()

printf("%5d -> %lld\n",n,s%10);

}return 0;

}

計算n!的最後一位非0的數

includeint main if sum 100 這裡若設定太小,當階乘很大時,會出現錯誤 printf d d n i,sum 該處為測試所用 printf d sum 10 return 0 這裡需要說明的是,當if sum 100 判斷條件不夠大時,比如只有sum 10,那麼每次只保留階乘...

N階乘尾部的0個數

描述 設計乙個演算法,計算出n階乘中尾部零的個數 思路 1 1 2 3 n 1 2 3 2 2 5 2 3 7 2 2 2 3 3 2 5 化成質數相乘,只有2 5才可能得到結果有尾數中有0 2 因為2的個數是比5多的,求0的個數問題就轉化成了求5的個數的問題 3 5 5 5 5 5 5有n個5 得...

乙個整數的階乘最後有多少個0

問題 乙個整數的階乘最後有多少個0 分析 整數n的階乘 n!1 2 3 4 5 6 n 我們可以對n!進行分解質因數 即 n!2x 3y 5z 7w 其中能夠產生0的只有2和5,其他不會產生0 2和5相乘必然會產生乙個10,而這個10會在階乘的末尾新增乙個0。那麼問題就轉化為2x 5z 可以產生多少...