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