桐桐想统计某个区间范围里的素数例如A=2B=10则A和B之间包括A、B素数一共有4个分别为:2357。现在桐桐给出N个区间范围问每个区间有多少个素数。请你帮助她做一个c++程序
以下是一个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/h2Wa 著作权归作者所有。请勿转载和采集!