📅  最后修改于: 2023-12-03 15:14:04.674000             🧑  作者: Mango
以下是一个C++程序,用于显示指定间隔之间的质数。质数是指只能被1和自身整除的数。
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int number) {
if (number < 2)
return false;
if (number == 2)
return true;
if (number % 2 == 0)
return false;
int sqrtNumber = sqrt(number);
for (int i = 3; i <= sqrtNumber; i += 2) {
if (number % i == 0)
return false;
}
return true;
}
void printPrimes(int start, int end) {
cout << "Prime numbers between " << start << " and " << end << " are: " << endl;
for (int i = start; i <= end; ++i) {
if (isPrime(i))
cout << i << " ";
}
cout << endl;
}
int main() {
int start, end;
cout << "Enter the start and end values: ";
cin >> start >> end;
printPrimes(start, end);
return 0;
}
说明:
isPrime
函数用于判断一个数是否是质数。它依次检查是否小于2、等于2、能被2整除等情况,再使用循环从3开始判断是否能被2到平方根之间的数整除。最终返回布尔值。
printPrimes
函数接收开始和结束值,然后使用循环遍历这个范围内的所有数,调用isPrime
函数判断是否为质数,并打印输出结果。
main
函数获取用户输入的开始和结束值,并调用printPrimes
函数进行质数的打印。
编译运行以上程序后,你可以输入两个整数作为开始和结束值,然后程序会显示这两个数之间的质数。