1.數組溢出
2.for (int j = a[0]; j >= 1; j++)數組
1.辛辛苦苦寫的函數,本身忘了調用
2.邏輯錯誤函數
void Linear_Filter() { for (int i = 2; i * i <= N; i++) { if (!prime[i]) { prime[++prime[0]] = i; } for (int j = 1; j <= prime[0]; j++) { if (i * prime[j] > N) break; prime[i * prime[j] ] = 1; /// 18 if (i % prime[j] == 0) break; /// 19 若是18 和 19 換了位置則 i == prime[j] 狀況下的 i*prime[j]不會被標記 } } for (int i=1; i<= 20; i++) { printf("%d -> %d\n", i,prime[i]); } }