#include
#include
using namespace std;
// 整数因子分解函数derive(),返回值为可以分解的次数
unsigned int derive(unsigned int num)
{
// 分解次数time,初始化为0
unsigned int time=0;
// 变量n遍历除数,直至num-1
for(int n=1;n{
// 如果num可以被n整除,则time自增
if(num%n==0)
{
time++;
// 如果n不为1且num被n除后的商不等于n,则进入递归
if(n!=1 && (num/n)!=n)
{
time+=derive(num/n);
time--;
}
}
}
return time;
}
int main(void)
{
unsigned int num;
cout<<"输入整数:";
cin>>num;
cout<system("pause");
return 0;
}