n的阶乘的因子分解

求n的阶乘的因子个数:

例子:求8!的因子个数。

笨方法:

先求8的阶乘,就是1*2*3....*8=sum,然后sum除1,除2,除3...一直到sum除sum,余数是0就计数器+1

 1 #include<iostream>
 2 #include<cmath>
 3 using namespace std;
 4 int main()
 5 {
 6     long sum=1;
 7     for(int i=1;i<=8;i++)
 8     {
 9         sum*=i;
10     }
11     cout<<"sum="<<sum<<endl;
12     int n=0;
13     for (long i=1;i<=sum;i++)
14     {
15         if (sum%i==0)//i是一个因子
16         {
17             n++;
18         }
19     }
20     cout<<"n="<<n<<endl;
21 
22     system("pause");
23 }
View Code

其他方法:

设8!=2p*3q*5m*7n;求出对应的p,q,m,n。

8!=27*32*51*71

因子个数=(7+1)*(2+1)*(1+1)*(1+1)=96

 

 

转载于:https://www.cnblogs.com/zhiaiyaya/p/3657731.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值