[SGU154 Factorial]【二分答案】【n!素因子分解】

【题目大意】
给定一个Q,让你输出最小的n,使得n!末位的0的个数=Q。
n>=1。
如果没有,那么输出无解。
【算法分析】
显然末位0的个数随关于n单调递增,那么二分答案,并分解n!,看里面有多少个·素因子5就等于知道末位有多少个0了。
首先n!里,2肯定比5要多。而只有2*5=10。所以看5有多少个就可以了。
然后对于这个求法,你可以先把n化为5进制数,然后一位一位截过去,很容易理解这个做法。
【其它】原来外国的自然数是从1开始的,怎么我们的教材是从0开始的呢T_T。
【CODE】C++ CODE   :SGU154 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233 #include

加入对话

2条评论

留下评论

您的电子邮箱地址不会被公开。