为啥#2会WA呢???而且还是在第4988行出错。。。
查看原帖
为啥#2会WA呢???而且还是在第4988行出错。。。
259793
AliceJames楼主2023/7/26 19:15
#include <iostream>
using namespace std;
#include <cmath>


int is_prime(int x)
{
	if(x == 2 || x == 3) return 1;
	if(x < 2 || x % 2 == 0) return 0;
	
	for(int i = 3; i < sqrt(x) + 1; i += 2)
	{
		if(x % i == 0) return 0;
	}
	
	return 1;
}

int is_in_array(int x, int* array, int array_size)
{
	for(int i = 0; i < array_size; i++)
	{
		if(x == array[i]) return 1;
		if(x < array[i]) return 0;
	}
}

int main()
{
	int array[1230] = {0};
	int counter = 0;
	for(int i = 2; i < 10000; i++)
	{
		if(is_prime(i))
		{
			array[counter] = i;
			counter++;
		}
	}
	
	int N;
	cin >> N;
	cout << "4=2+2" << endl;
	for(int i = 6; i <= N; i += 2)
	{
		for(int j = 1; j < 1230; j++)
		{
			if(is_in_array(i - array[j], array, counter))
			{
				cout << i << "=" << array[j] << "+" << (i - array[j]) << endl;
				break;
			}		
		}
	}
	
	return 0;
}
2023/7/26 19:15
加载中...