这段程序用于计算100的阶乘末尾的零的个数,思路如下:末尾零的个数就代表含有因子10的个数,而10=2*5,所以每一对2和5因子就对应结果末尾的一个零,所以结果末尾的零的个数即为因子2和5的组合的数量,亦即为因子2和5中数量少的一个,很明显因子2的个数比因子5的个数多,所以只需求100以内因子5的个数。
首先计算100以内能被5整除的个数,对应代码:
for(a=5 a<=100 a+=5){
count++
又因为能被25整除的数含有两个因子5,所以还须加1,对应代码:
if(!(a%25)) count++#include<stdio.h>void main()
{
int day, x1, x2
printf("狗熊到玉米地吃了包谷")
printf("第一天吃了一半又拿走一个回去喂小狗熊。\n")
printf("第二天又去吃了剩下的一半,走是任然带一个回去。/n")
printf("以后每天都吃前一天剩下的一半,拿走一个。/n")
printf("到了第十天时,地里只剩下一个包谷。求地里一共有多少包谷。/n")
day=10
x2=1
while (day>0)
{
x1=(x2+1)*2
x2=x1
day--
}
printf("包谷总数=%d\n",x1)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)