可以使用篩法來判斷 1-100 之間有多少個素數,並輸出所有素數。篩法是壹種通過枚舉合數的因子來篩選出素數的方法。
下面是用 C 語言實現的代碼示例:
#include <stdio.h>
#include <stdbool.h>
#define N 100
int main(void)
{?
// 創建壹個 bool 類型的數組,用來存儲每個數是否為素數
bool prime[N + 1];
// 初始化數組,假設所有數都是素數
for (int i = 0; i <= N; i++)
prime[i] = true;
// 使用篩法篩選出素數
for (int i = 2; i <= N; i++)
{
// 如果 i 不是素數,則跳過
if (!prime[i])
continue;
// 輸出 i
printf("%d ", i);
// 將 i 的倍數標記為合數
for (int j = i * i; j <= N; j += i)
prime[j] = false;
}
return 0;
}
運行結果如下:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
在這個程序中,使用了壹個 bool 類型的數組來存儲每個數是否為素數。使用篩法篩選出 1-100 之間的素數,並輸出每個素數。
需要註意的是,C 語言沒有內置的 bool 類型,需要使用頭文件 stdbool.h 來支持 bool 類型。在上面的代碼中,需要包含頭文件 stdio.h 和 stdbool.h。