輸入 x (≤2000),若非 ≥6 偶數輸出 `Error!`。否則輸出所有 `x = y + z` (y≤z, y,z 為素數),按 y 升序。
#include
#include
#define MAX 2000
bool isPrime[MAX+1];
void sieve() {
for (int i=2; i<=MAX; i++) isPrime[i] = true;
for (int i=2; i*i<=MAX; i++)
if (isPrime[i])
for (int j=i*i; j<=MAX; j+=i) isPrime[j] = false;
}
int main() {
sieve();
int x; scanf("%d", &x);
if (x < 6 || x % 2 != 0) {
printf("Error!\n");
return 0;
}
for (int y=2; y<=x/2; y++) {
if (isPrime[y] && isPrime[x-y])
printf("%d=%d+%d\n", x, y, x-y);
}
return 0;
}
ExecuteNonQuery 是關鍵
CSS 屬性選擇器能否實現「與、或、非」邏輯關係?
C 語言 fscanf 讀取結構體數據時缺少取地址符導致錯誤
Java Swing 繪製背景圖片失效排查:paint 方法陷阱與 JLabel 替代方案
Spring EL 表達式讀取 properties 檔案值的原理:PropertyPlaceholderConfigurer 與 Environment 抽象
A Flea on a Chessboard:跳蚤在無限棋盤上跳躍何時落入白格(數論 + 模擬)