2019 蓝桥杯省赛 B 组模拟赛(一) 程序设计:找质数

题目链接:https://nanti.jisuanke.com/t/36114

质数用筛法打个表,因为要多次询问,而且数值不小,输入要用scanf  不然超时

 

 

#include
using namespace std;
int prime[1000005];

void is_prime()
{
	long long int i, j;
	memset(prime, 0, sizeof(prime));
	prime[1] = 1;
	for(i = 2; i <= 1000000; i++)
	{
		if(!prime[i])
		{
			for(j = i * i; j <= 1000000; j += i)
			{
				prime[j] = 1;
			}
		}
	}
}

int main()
{
//	std::ios::sync_with_stdio(false);
	is_prime();
//	cout << "qqq" << endl;
	int t, n, i;
	scanf("%d", &t);
	while(t--)
	{
		scanf("%d", &n);
		for(i = 1; i <= n;i++)
		{//cout << "qqqq" << endl;
			//cout<< i << " " << prime[i] << "  " << prime[n-i] << endl;
			if(!prime[i] && !prime[n-i])
			{
				printf("%d %d\n", i, (n-i));
				break;
			}
				
		}
	}

	return 0;
} 

 

你可能感兴趣的:(质数)