C++ 统计区间内素数数量 - 代码示例与解析
#include <iostream> #include <cmath>
bool isPrime(int num) { if (num < 2) { return false; } for (int i = 2; i <= sqrt(num); i++) { if (num % i == 0) { return false; } } return true; }
int countPrimesInRange(int start, int end) { int count = 0; for (int i = start; i <= end; i++) { if (isPrime(i)) { count++; } } return count; }
int main() { int N; std::cout << "请输入区间个数N: "; std::cin >> N;
for (int i = 0; i < N; i++) {
int start, end;
std::cout << "请输入第" << i+1 << "个区间的起始值和结束值: ";
std::cin >> start >> end;
int count = countPrimesInRange(start, end);
std::cout << "第" << i+1 << "个区间内的素数数量为: " << count << std::endl;
}
return 0;
}
该程序使用了两个函数,isPrime 函数用于判断一个数是否为素数,countPrimesInRange 函数用于统计指定区间内的素数数量。
在 main 函数中,首先输入区间个数 N,然后根据 N 的值循环输入每个区间的起始值和结束值,并调用 countPrimesInRange 函数统计素数数量,并输出结果。
注意:该程序假设输入的区间起始值和结束值都是正整数,并且起始值小于等于结束值。
原文地址: https://www.cveoy.top/t/topic/pLRn 著作权归作者所有。请勿转载和采集!