浙大PAT1059 Prime Factors

来源:互联网 发布:返回顶部js代码 编辑:程序博客网 时间:2024/05/17 20:00

//常规题,没有什么多的技巧,关键不要漏掉1等特殊情况

#include<iostream>

#include<fstream>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<math.h>
#include<string>
using namespace std;
 
//#define fin cin  
int main()  
{  

/*ifstream fin("d:\in.txt" ); 
if (! fin.is_open())  

cout << "Error opening file";
system("pause");
exit (1); 
}*/

long N;
cin>>N;
cout<<N<<"=";
vector<int> data;
long temp=2;
if(N==1)
{
cout<<N;
return 0;
}
while(N!=1)
{
while(N%temp==0)
{
data.push_back(temp);
N=N/temp;
}
while(1)
{
temp++;
bool found=true;
for(int i=2;i<temp;i++)
{
if(temp%i==0)
{
found==false;
break;
}
}
if(found)
break;
}
}
int i=0;
int num=0;
int temp2=0;
int cishu=0;


while(i<data.size())
{
temp2=data[i];
num=1;
i++;
while(i<data.size()&&data[i]==temp2)
{
num++;
i++;
}
if(cishu==0)
{
if(num==1)
cout<<temp2;
else
cout<<temp2<<"^"<<num;
}
else
{
if(num==1)
cout<<"*"<<temp2;
else
cout<<"*"<<temp2<<"^"<<num;
}
cishu=1;


}





    system("PAUSE");  
    return 0;  
}
0 0
原创粉丝点击