样例全过了但是提交都WA
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
bool zs(int x)
{
if(x==0||x==1) return 0;
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0) return 0;
}
return 1;
}
signed main()
{
while(1)
{
cout<<"Enter the number=";
cin>>s;
bool flag=0;
int num=0;
for(int i=0;i<s.size();i++)
{
if(s[i]<='9'&&s[i]>='0')
{
flag=1;
num=num*10+(s[i]-'0');
}
}
if(!flag) return 0;
cout<<"Prime? ";
flag=0;
if(num>=1e9)
{
cout<<"No"<<endl;
cout<<"The number is too large!"<<endl<<endl;
continue;
}
if(!zs(num))
{
cout<<"No!"<<endl;
if(num==0||num==1)
{
cout<<endl;
continue;
}
cout<<num<<"=";
for(int i=2;i<=num;i++)
{
int cnt=0;
while(num%i==0)
{
num/=i;
cnt++;
}
if(cnt)
{
if(!flag)
{
cout<<i<<"^"<<cnt;
flag=1;
}
else cout<<"*"<<i<<"^"<<cnt;
}
}
cout<<endl;
}
else cout<<"Yes!"<<endl;
cout<<endl;
}
return 0;
}