问题描述
设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出23。输入20,输出22*5。
样例
与上面的样例输入对应的输出。
例:
数据规模和约定
输入数据中每一个数在int表示范围内。
#include<iostream>
#include<math.h>
using namespace std;
bool pd(int n)
{
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)return false;
return true;
}
int main()
{
int n,i;cin>>n;bool tag=false;
while(n!=1)
{
for(i=2;i<=n;i++)
{
if(n%i==0 && pd(i))
{
if(tag) cout<<'*';
else tag=true;
cout<<i;
n=n/i;
break;
}
}
}
return 0;
}