[問題] n!尾數有幾個0 (C語言)

作者: FengJi (Fengji)   2015-05-23 20:54:13
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
程式寫完後可以執行
我輸入3 輸出0 沒有問題
但輸入8 應該要輸出1 他就不會跑出任何東西
輸入更大的數字也一樣
餵入的資料(Input):
8
25
預期的正確結果(Expected Output):
1
6
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
int i,fact=1;
for(i=1;i<=n;i++){
fact *= i;
}
int k=0;
while((fact%10)==0){
k++;
}
printf("%d\n", k);
}
補充說明(Supplement):
作者: azureblaze (AzureBlaze)   2015-05-23 21:01:00
while((fact%10)==0) 每一圈fact的值會是?
作者: FengJi (Fengji)   2015-05-23 21:02:00
!!! 我懂了!sorry我新手QQ我在k++下一行加入 fact /= 10;但輸出還是沒有正確耶
作者: azureblaze (AzureBlaze)   2015-05-23 21:08:00
int最多只能裝到12! long long int也頂多20!,怎麼辦?
作者: FengJi (Fengji)   2015-05-23 21:09:00
抱歉 沒問題了az大 不知道欸@@ 可以告訴我嗎0.0
作者: cismjmgoshr (--???--)   2015-05-23 21:12:00
n!有幾個0只要算一下1~n質因數分解之後有多少5就好
作者: FengJi (Fengji)   2015-05-23 21:13:00
2*5吧?
作者: bibo9901 (function(){})()   2015-05-23 21:17:00
2一定比5多
作者: azureblaze (AzureBlaze)   2015-05-23 21:17:00
2的數量一定比5多,幾個2不重要
作者: FengJi (Fengji)   2015-05-23 21:20:00
瞭解!

Links booklink

Contact Us: admin [ a t ] ucptt.com