hdu 1124 Factorial(高斯函数定理)
2017-04-15 20:03
344 查看
题意:题目balabala一大堆,其实他的意思就是让你求n!末尾0的个数。
思路:今天刚刚学到素数,用高斯函数原理。
我解释下:任何正整数n且大于1,都能分解成素数的积,0是怎么来的???使用素数5和2乘积得来的。可以用高斯函数定理来求5的幂和2的幂,又有高斯函数定理5的幂较少,故0的个数由5决定。
ac代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;scanf("%d",&n);while(n--){//求解0的个数,即求解素因子5的幂
long long x;scanf("%lld",&x);
long long ans=0;
long long temp=5;
while(temp<=x){
ans+=x/temp;
temp=temp*5;
}
printf("%lld\n",ans);
}
return 0;
}
思路:今天刚刚学到素数,用高斯函数原理。
我解释下:任何正整数n且大于1,都能分解成素数的积,0是怎么来的???使用素数5和2乘积得来的。可以用高斯函数定理来求5的幂和2的幂,又有高斯函数定理5的幂较少,故0的个数由5决定。
ac代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;scanf("%d",&n);while(n--){//求解0的个数,即求解素因子5的幂
long long x;scanf("%lld",&x);
long long ans=0;
long long temp=5;
while(temp<=x){
ans+=x/temp;
temp=temp*5;
}
printf("%lld\n",ans);
}
return 0;
}
相关文章推荐
- HDU HDOJ 1124 Factorial
- HDU 1124 Factorial(数论)
- 阶乘 hdu 1124 (Factorial)
- 【HDU】 1124 Factorial
- hdu 1124 Factorial
- HDU 1124 Factorial&&nyoj 84 阶乘的 0【数学】
- HDU 1124 - Factorial (数学)
- hdu 1124 Factorial(数论:推理)
- Hdu - 1124 - Factorial
- hdu 1124 Factorial (快速求n!末尾0的个数)
- HDOJ Factorial 1124【算数基本定理+分解N!】
- HDU 1124 Factorial(简单数论)
- hdu 1124 Factorial 数论,就是求一个数的阶乘的结果末尾有多少0.
- HDU - 1124 Factorial
- HDU 1124 Factorial (數論)
- HDU 1124 Factorial 水题
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU 1124 Factorial
- HDU 1124 Factorial (数论)