[问题] 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