#include#include void main() { int m, i, k; for (m = 101; m <= 200; m += 2) { // 跳過偶數 k = sqrt(m); for (i = 2; i <= k; i++) if (m % i == 0) break; if (i > k) printf("%6d", m); // 迴圈正常結束 i>k 即質數 } }
m += 2:只檢查奇數,減半迴圈次數。k = sqrt(m):試除上限縮減至 √m。if (i > k):利用 break 未執行判斷質數,無需額外旗標。