要求一個(gè)區(qū)間中素?cái)?shù)的個(gè)數(shù),可以使用以下的方法:
isPrime()
來判斷一個(gè)數(shù)是否為素?cái)?shù)。該函數(shù)接受一個(gè)參數(shù)n,返回一個(gè)布爾值,表示n是否為素?cái)?shù)。在主函數(shù)中,輸入一個(gè)區(qū)間的上下界,使用循環(huán)遍歷這個(gè)區(qū)間的每一個(gè)數(shù),判斷它是否是素?cái)?shù),如果是素?cái)?shù),則計(jì)數(shù)器加1。
最后輸出計(jì)數(shù)器的值,即為這個(gè)區(qū)間中素?cái)?shù)的個(gè)數(shù)。
下面是一個(gè)示例代碼:
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
// 判斷一個(gè)數(shù)是否為素?cái)?shù)
bool isPrime(int n) {
if (n <= 1) {
return false;
}
int sqrt_n = sqrt(n);
for (int i = 2; i <= sqrt_n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int lower, upper;
int count = 0;
printf("請(qǐng)輸入一個(gè)區(qū)間的上下界:");
scanf("%d %d", &lower, &upper);
for (int i = lower; i <= upper; i++) {
if (isPrime(i)) {
count++;
}
}
printf("這個(gè)區(qū)間中素?cái)?shù)的個(gè)數(shù)為:%d\n", count);
return 0;
}
示例運(yùn)行結(jié)果:
請(qǐng)輸入一個(gè)區(qū)間的上下界:1 100
這個(gè)區(qū)間中素?cái)?shù)的個(gè)數(shù)為:25