题目:计算n的阶乘尾部零的个数
#include<stdio.h>
int main()
{
int t,sum=1,i,j,r,num=0;
scanf("%d",&t);//输入一个数
for(i=1;i<t+1;i++)
{
sum=sum*i;
} //求阶乘sum
printf("%d\n",sum);
for(j=10;;j*=10)
{
r=sum%j;
if(r==0)
num++;
else
break;
}
printf("%d\n",num);
return 0;
}
各位大牛,为啥这阶乘一到15之后都是错的呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 泡视界 2021-01-25 11:15关注
超出 int 类型的数值范围,数据就变成 负数了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥20 OPENVPN连接问题