用C++语言完成该程序:对于给定的正整数m、n,编写函数cOfPrimes计算m——n(包括m、n)之间素数的个数并返回。 例如,m = 5,n = 2,函数的返回值为3,因为2——5之间的素数有2、3、5。 输入格式: 输入在一行中给出两个正整数,中间用空格分开。 输出格式: 在一行中输出两个正整数之间的素数个数。 输入样例: 4 21 输出样例: 6
时间: 2024-02-19 09:03:18 浏览: 128
最大公约数能同时被m和n整除的最大数。-c++教程谭浩强
以下是用C++实现的cOfPrimes函数:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) { // 判断素数
if (n <= 1) return false;
int sqr = sqrt(n);
for (int i = 2; i <= sqr; i++) {
if (n % i == 0) return false;
}
return true;
}
int cOfPrimes(int m, int n) { // 计算素数个数
int cnt = 0;
for (int i = m; i <= n; i++) {
if (isPrime(i)) cnt++;
}
return cnt;
}
int main() {
int m, n;
cin >> m >> n;
cout << cOfPrimes(m, n) << endl;
return 0;
}
```
该程序中先定义了一个判断素数的函数isPrime,然后在函数cOfPrimes中循环判断m到n之间的整数是否为素数,并计数,最终返回计数器的值。主函数中读入m、n并输出结果。
阅读全文