溫馨提示×

c語言怎么判斷素數(shù)

小億
257
2023-08-10 20:20:53
欄目: 編程語言

判斷一個數(shù)是否為素數(shù),可以通過以下方法實現(xiàn):

  1. 如果給定的數(shù)小于2,則它不是素數(shù)。

  2. 對于大于等于2的數(shù),從2到其平方根之間的所有數(shù),依次判斷該數(shù)是否能被這些數(shù)整除。

  • 如果能被整除,則它不是素數(shù),返回false。

  • 如果不能被整除,則繼續(xù)判斷下一個數(shù)。

  1. 如果在2到平方根之間的所有數(shù)都無法整除該數(shù),則它是素數(shù),返回true。

下面是用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,以計算平方根。

0