标签:
传送门:http://codeforces.com/problemset/problem/633/B
题意:给你一个常数m,要你找出几个数,这几个数的阶乘的最后m位
都是0.
显然 末尾有0 一定能除以10 10可以换成5*2的形式,
那么我们就可以找5的倍数,(如果有5出现 也一定有2)
————————————————————————————————————
渣渣之见,随便转载。
#include<cstdio> int main() { long long n,k=0; // 看i阶乘的时候 5有几个 比如25 就有 5*5 4*5 3*5 2*5 5,6个5 scanf("%I64d",&n); for(int i=5;;i=i+5) { long long temp=i; while(temp%5==0) { temp /= 5 ; k++; } if(k>=n) if(k==n) { printf("5\n"); printf("%d %d %d %d %d",i ,i+1,i+2,i+3,i+4 ); break; } else { printf("0"); break; } } }
CodeForces 633B A Trivial Problem
标签:
原文地址:http://www.cnblogs.com/Lostsm/p/5281752.html