PAT 2-07. 素因子分解(20)

时间:2023-03-09 04:26:25
PAT 2-07. 素因子分解(20)

题目链接:http://www.patest.cn/contests/ds/2-08

题目意思:long int范围内的正整数N进行素因子分解。

直接整除即可,不需要素数筛选

代码如下:

#include<iostream>
using namespace std; int main()
{
long int n;
cin>>n;
if(n==1)
{
cout<<"1=1"<<endl;
}
else
{
cout<<n<<"=";
for(int i=2;i<=n;i++)//从2一直到n
{
int k=0;
if(n%i==0)
{
do
{
n/=i;
k++;
}while(n%i==0);
if(k>1)
{
cout<<i<<"^"<<k;
}
else
{
cout<<i;
}
if(n/i>0)
{
cout<<"*";
}
}
}
}
return 0;
}