作业帮 > 综合 > 作业

C语言给定两个数m,n,其中m是一个素数.将n(0

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/11 04:32:27
C语言给定两个数m,n,其中m是一个素数.将n(0
求n的阶乘 n!
然后对n的阶乘分解质因数
看其中有多少个m
比如n = 5, m = 3
那么n!=120=2*2*2*3*5
其中有一个3 那么输出3
思路
不能直接求阶乘 那样一个是太大 再一个时间开销也多
直接对1->n 每个值做判断 其中有多少个质因子m 然后所有的相加就可以
再问: 100 里面能分解出24个 5?
再答: 不是100里面分解 是100!
即100的阶乘
也就是
1*2*3*4*...*100
其中有5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
于是1+1+1+1+2+1+1+1+1+2+1+1+1+1+2+1+1+1+1+2=24