Factovisors
The factorial function, n! is defined thus for n a non-negative integer: 0! = 1n! = n * (n - 1)! (n > 0)
We say that a divides b if there exists an integer k such that k * a = b
Input
The input to your program consists of several lines, each containing two non-negative integers, n and m, both less than 2^31.
Output
For each input line, output a line stating whether or not m divides n!, in the format shown below.
Sample Input6 96 2720 1000020 1000001000 1009
Sample Output
9 divides 6!27 does not divide 6!10000 divides 20!100000 does not divide 20!1009 does not divide 1000!
Source: University of Waterloo Local Contest 1999.01.31
求m是否能整除n! 其实原理也很简单 首先将所有的质数(16位里面的正整数)筛选出来,推荐用素数筛选法 接着就是质数分解,将m的质数分解,并且得到质数表和质数的个数 接着按照得到的质数表,对n!的阶乘进行寻找相应质数的个数,看是否多余m中的质数的个数,以此判断即可 代码不贴了,比较丑陋