整数因子分解的算法
大于1的正整数n可以分解为:
当n=12时,共有8种不同的分解式:
对于给定的正整数n,编程计算n共有多少种不同的分解式。
#include <iostream>
using namespace std;
int total; //定义为全局变量
void solve(int n) {
if (n==1) total++; //获得一个分解
else for (int i=2; i<=n; i++)
if (n%i==0) solve(n/i);
}
//主函数main()中数据的读取与调用
int n;
while( cin>>n)
{
total = 0;
solve(n);
cout<<total;
}