TLE一个
查看原帖
TLE一个
643299
Whataniceday楼主2022/8/30 16:32
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int a)//判断质数的函数 
{
	if(a==2)
	{
		return 1;
	}
    if(a>=2)
    {
    	if(a%2!=0) 
    	{
	   		for(int ip=3,IP=sqrt(a);ip<=IP;ip+=2)
	   		{
	    		if(a%ip==0)
	    		{
	    			return 0;
				}
			}
		    return 1;
		}
	}
   	return 0;
}
int main()
{
	int n;
	int i,j,k;
	bool is=0;
	cin>>n;
	cout<<"4=2+2"<<endl;//无论输入几,都会有这个式子 
	for(i=6;i<=n;i+=2)//因为已经有了4=2+2,所以直接从6开始 
	{
		is=0;
		for(j=3;is==0;j+=2)//is用来判断是不是枚举成功 
		{
			for(k=3;j+k<=i;k+=2)//判定条件不会死循环 
			{
				if(isPrime(j)==1&&isPrime(k)==1&&i==j+k)
				{
					cout<<i<<"="<<j<<"+"<<k<<endl;
					is=1;//枚举成功 
					break;
				}
			}
		}
	}
	return 0;
}

只有输入10000的点TLE

2022/8/30 16:32
加载中...