100的阶乘有多少0

100的阶乘有多少0

  • 问题分析与算法设计
    想要计算100的阶乘有多少0,得知道结尾0是怎么形成的。结尾0是(2×5)的倍数相乘得来的。所以我们只要计算有多少对(2×5)即可。
    计算出在0-100整数中包含多少5的因子。若整数N可以被5整除,则N中包含1个因子5,若整数N可以被25整除,则N中包含2个因子5。得出0-100中有24个因子5。2的因子个数由尾数2,4,6,8,10产生。肯定远远多于5的因子个数。
    综上所述,可以凑成24个(2×5)。也就是100的阶乘结尾会产生24个0。
  • 程序说明与注释
#include <stdio.h>

int main()
{
	int i, count;

	for(i = 5; i <= 100; i += 5)   //循环以5开始,5的倍数为步长
	{
		count++;           //若为5的倍数,计数器加1
		if(i%25 == 0)
			count++;           //若为25的倍数,计数器再加1
	}
	printf("The number of 0 in the end of 100! is %d.\n",count);

	return 0;
}
  • 运行结果
The number of 0 in the end of 100! is 24.

猜你喜欢

转载自blog.csdn.net/weixin_41812603/article/details/86584124
今日推荐