关闭

整数因子分解问题

85人阅读 评论(0) 收藏 举报

问题描述:大于1的正整数n可以分解为n=x1 • x2 • ‥‥ • xn。

例如当n=6时,共有3种不同的分解式:

6=6  6=3×2  6=2×3

算法设计:对于给定的正整数n,计算n共有多少种不同的分解式。

#include<iostream>
using namespace std;
int totle=0;//作为全局变量,在answer的函数返回值中才会输出正确结果,否则输出为0;
int answer(int num)
{
	if(num==1)//作为递归的出口,输出结果 
	totle++;
	else 
	for(int i=2;i<=num;i++)//从二开始到本身继续查找 
	{
		<strong>if(num%i==0)
		    answer(num/i)</strong>;//一直递归求解,直到answer的参数为1 
	}
	return totle;
}
int main()
{
	int n;
	cin>>n;
	cout<<answer(n);
	cout<<endl;
	system("pause");
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:578次
    • 积分:44
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档