判斷一個數是否為素數,可以通過以下方法實現:
如果給定的數小于2,則它不是素數。
對于大于等于2的數,從2到其平方根之間的所有數,依次判斷該數是否能被這些數整除。
如果能被整除,則它不是素數,返回false。
如果不能被整除,則繼續判斷下一個數。
下面是用C語言實現的素數判斷函數:
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool isPrime(int n) {
if (n < 2) {
return false;
}
int limit = sqrt(n); // 取平方根作為循環的上限
for (int i = 2; i <= limit; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("請輸入一個整數:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素數。\n", n);
} else {
printf("%d不是素數。\n", n);
}
return 0;
}
這段代碼中,首先定義了一個名為isPrime
的函數,接收一個整數參數,返回一個bool
類型的值,表示是否為素數。然后在main
函數中,讀取用戶輸入的整數,調用isPrime
函數進行判斷,并輸出結果。
注意:該代碼中使用了<stdbool.h>
頭文件,用于引入bool
類型和true
、false
常量的定義。<math.h>
頭文件用于引入數學函數sqrt
,以計算平方根。