求调,样例全过但0分
查看原帖
求调,样例全过但0分
1386335
lanbing_e楼主2024/10/2 09:26

样例全过了但是提交都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;
}

2024/10/2 09:26
加载中...