题目详情 对于整数n,n的阶乘表示为n!定义如下 0! = 1 n! = n * (n - 1)! 给定n和m,问n!是否是m的倍数? n和m全在32位整数范围内,m非0。 返回1和0表示整除和不整除。 这道题的关键一点是只需要找2^16内的素数, 因为n的范围是2^32,故它包含的素因子必然小于2^16, 可以分解m的素因子,在n到1的素因子中一一查找即可.而且这一过程不用分解n到1.如下代码所示动态查找. #include<stdio.h> #include<math.h> int prime[65555]; int makePrime(int top) { int i, j; for(i = 2; i <= 65555; i++)