#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x){
if (x == 1) return 0;
for (int i = 3; i * i <= x ; i++){
if (x % i == 0) return 0;
}
return 1;
}
int main(){
int n;
scanf ("%d", &n);
for (int i = 4; i <= n; i += 2){
for (int j = 2; j <= i - 2; j++){
if (isPrime(j) && isPrime(i - j)){
printf ("%d=%d+%d\n", i, j, i - j);
break;
}
}
}
return 0;
}
但是...
![]()
翻译过来就是他们的评测机在输出的第二行的第三个字符读到了“2”而不是“3”
不过这个题目的第一行不应该一定是“4=2+2”吗?
(疑惑.jpg)