码迷,mamicode.com
首页 > 其他好文 > 详细

分解因素的种数

时间:2018-11-13 00:18:34      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:...   ios   clear   一个个   情况   namespace   ++   name   content   

题目描述

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

输入

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

输出

N行,每行输出一个个正整数,表示分解方案数。
 

样例输入

2
2
20

样例输出

1
4
#include <iostream>
#include <cstdio> 
using namespace std;
int f(int n,int m)
{
    int ans=1;              //算上本身那种情况 
    if(n==1) 
            return 0;
   for(int i=m;i*i<=n;i++)//从2开始遍历找所有的能分解的情况 
    {
	  if(n%i==0)
	  {  
	     ans+=f(n/i,i);  
	   } 
	}
	return ans; 
} 
int main()
{  
	int n,a; 
	cin>>n; 
	for(int i=1;i<=n;i++)
	{ 
	    cin>>a;  
    	   cout<< f(a,2)<<endl; 
	 }  
	 return 0; 
}
 

  

 

分解因素的种数

标签:...   ios   clear   一个个   情况   namespace   ++   name   content   

原文地址:https://www.cnblogs.com/fangzheng-nie/p/9949567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!