列印100--200之間的素數
阿新 • • 發佈:2018-11-11
/******************
列印100–200之間的素數
******************/
素數:只能被一和它本身整除的數
分析:用for迴圈將100–200之間的數與2–i進行取模運算,如果模最終等於0,說明除1和它本身外有一個數能整除它,則證明它不是素數;如果到程式結束模都不等於0,說明這個數是素數,則列印這個數。
優化:①.如果一個數i在i/2下都沒有找到一個數能整除它,則它就是素數;②.如果一個數在sqrt i (i的開方)下都沒有找到一個數能整除它,則到它本身為止也沒有數能整除。
程式碼如下:
#include <stdio.h> #include<math.h> int main() { int i, j, k = 0; for (i = 100; i <= 200; i++) for (j = 2; j <= sqrt(i); j++) if (i%j == 0) break; else if (j > sqrt(i) - 1) { printf("%d,", i); k++; if (k % 5 == 0) printf("\n"); } else continue; return 0; }
結果如下: