Easy Problem 10 求0的个数

本文介绍了一个简单的C语言程序,用于计算任意正整数N的阶乘末尾有多少个0。通过不断除以5并累加商的方式,有效地解决了这一问题。

原文地址:https://my.oschina.net/meiguizhinian/blog/875366

Description

编写一个程序,求出N!的末尾含有多少个0。

The Input

你的数据需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由一行组成,每行由一个正整数N组成,N小于等于100000,在行首和行尾没有多余的空格。

The Output

对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的文本终端)依次输出一组对应的答案。所有数据前后不要输出多余的空行,两组数据之间也不要输出多余的空行。每组输出数据由一行组成,每行由一个整数组成,在行首和行尾不要输出多余的空格。

Sample Input

6
99999

Sample Output

1
24994

代码

#include <stdio.h>
int main(){
	int n,sum;
	while (scanf("%d",&n)!=EOF) {
		sum = 0;
		while (n>=5) {
			sum+=n/5;
			n/=5;
		}
		printf("%d\n",sum);
	}
	return 0;
}

 

转载于:https://my.oschina.net/meiguizhinian/blog/875366

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值