POJ1401解题报告
2014-01-19 19:09
162 查看
思路: 这一题要求的是N!中末尾0的个数,其实也就是所包含因子10的个数。10=5*2,因子10的个数也就是因子2的个数与因子5的个数中较小的那个,N!=1*2*3...*N,其中2的因子个数一定不少于5的因子个数,所以要求的其实就是N!中所包含的5的因子个数。
求 P^x || N!,这个算法在集训手册推荐的那本《初等数论》上64页有证明,其中x的值是1--N之中所有p的倍数的个数+p^2倍数的个数+p^3的倍数的个数
编程语言:C语言
代码如下:
#include <stdio.h>
void main()
{
int in, n, num;
scanf("%d", &n);
while (n--)
{
num = 0;
scanf("%d", &in);
while (in>0)
{
num += in / 5;
in = in / 5;
}
printf("%d\n", num);
}
}
相关文章推荐
- POJ 1401 解题报告
- poj解题报告——1401
- POJ 1401 Factorial 解题报告
- 线段树的典型应用之POJ 2823 Sliding Window解题报告
- poj1013解题报告
- poj1195解题报告-树状数组
- POJ1523解题报告 求点割集
- 【原创】poj ----- 2524 Ubiquitous Religions 解题报告
- 解题报告 之 POJ 2559 Largest Rectangle in a Histogram
- poj_1664_放苹果_解题报告
- POJ 3318 Matrix Multiplication 解题报告 (随机化 & 矩阵性质)
- poj1005 解题报告
- POJ 3252 数位DP 解题报告
- POJ-1321 棋盘问题 解题报告
- POJ-1002-487-3279-解题报告
- POJ1118 解题报告JAVA
- POJ 1363 解题报告
- POJ 1503(高精度整数加法) 解题报告
- poj解题报告——1740
- POJ-1062 昂贵的聘礼 解题报告