摘要:        
给定两个数m,n求m!分解质因数后因子n的个数。这道题涉及到了大数问题,如果相乘直接求的话会超出数据类型的范围。下面给出一种效率比较高的算法,我们一步一步来。m!=1*2*3*……*(m-2)*(m-1)*m可以表示成所有和n倍数有关的乘积再乘以其他和n没有关系的 =(n*2n*3n*......*kn)*ohter other是不含n因子的数的乘积因为 kn<=m而k肯定是最大值 所以k=m/n =n^k*(1*2*......*k)*other =n^k*k!*other 从这个表达式中可以提取出k个n,然后按照相同的方法循环下去可以求出k!中因子n的个数。每次求出n的个数的和就是m    阅读全文
posted @ 2011-04-12 11:01
andyidea
阅读(1201)
评论(2)
推荐(2)
        
                    
                
浙公网安备 33010602011771号