1200:分解因数

简介: 1200:分解因数

1200:分解因数

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1≤a2≤a3≤...≤an,问这样的分解的种数有多少。注意到a=a也是一种分解。

【输入】

第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<a<32768)。

【输出】

n行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数。

【输入样例】

2

2

20

【输出样例】

1

4

【来源】

No

1. #include<stdio.h>
2. #include<iostream> 
3. #include<cstring>
4. using namespace std;
5. int j,k=0,n;
6. void ac(int s,int m)
7. {
8.  if(s==1){
9.    k++;return;
10.   }
11.   else for(int i=m;i<=s;++i){
12.     if(s%i==0) ac(s/i,i);//继续拆分,从i开始枚举 
13.   }
14. }
15. int main()
16. {
17.   cin>>n;
18.   for(j=1;j<=n;j++) {
19.     k=0;
20.     int t;
21.     cin>>t;
22.     ac(t,2);//因子为1会无限循环,所以从2开始 
23.     cout<<k<<endl;
24.   }
25.   return 0;
26.  }
1. #include<stdio.h>
2. #include<iostream> 
3. #include<cstring>
4. using namespace std;
5. int n,m;
6. int ac(int a,int b)
7. {
8.  if(a==1) return 1;//拆分到1结束 
9.  if(b==1) return 0;//避免无限循环 
10.   if(a%b==0) return ac(a/b,b)+ac(a,b-1);
11.   return ac(a,b-1);
12. }
13. int main()
14. {
15.   cin>>n;
16.   for(int i=1;i<=n;i++) {
17.     cin>>m;
18.     cout<<ac(m,m)<<endl;
19.   }
20.   return 0;
21.  }

 

相关文章
|
3月前
【代数学作业5】理想的分解:高斯整数环中理想的结构,并根据其范数和素数的性质进行分解
【代数学作业5】理想的分解:高斯整数环中理想的结构,并根据其范数和素数的性质进行分解
33 0
|
8月前
欧拉筛(最优的方法,对于找质数,细节讲解)
欧拉筛(最优的方法,对于找质数,细节讲解)
47 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
54 0
|
9月前
|
C++
数的分解
把 2019分解成 3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?
38 0
运用Doolitle分解法解线性方程组
运用Doolitle分解法解线性方程组
75 0
排列组合相关公式讲解(Anm,Cnm等)
排列组合相关公式讲解(Anm,Cnm等)
2045 0
排列组合相关公式讲解(Anm,Cnm等)
|
机器学习/深度学习
【组合数学】递推方程 ( 常系数线性非齐次递推方程 的 非齐次部分是 多项式 与 指数 组合方式 | 通解的四种情况 )
【组合数学】递推方程 ( 常系数线性非齐次递推方程 的 非齐次部分是 多项式 与 指数 组合方式 | 通解的四种情况 )
176 0
|
机器学习/深度学习 Windows
【组合数学】递推方程 ( 常系数线性齐次递推方程 | 常系数、线性、齐次 概念说明 | 常系数线性齐次递推方程公式解法 | 特征根 | 通解 | 特解 )
【组合数学】递推方程 ( 常系数线性齐次递推方程 | 常系数、线性、齐次 概念说明 | 常系数线性齐次递推方程公式解法 | 特征根 | 通解 | 特解 )
341 0
粗略估计哥德巴赫猜想的成立(伯特兰-切比雪夫定理、质数密度定理)
粗略估计哥德巴赫猜想的成立(伯特兰-切比雪夫定理、质数密度定理)
156 0
|
算法
经典算法详解(3)将大于2的偶数分解成两个素数之和
1 #include 2 3 using namespace std; 4 5 bool isPrime(int n) { 6 for (int i = 2; i < n; i++) { 7 if (n%i == 0) { //能被2到把自身小1的数...
1281 0