示例 1: 显示两个区间之间的质数
#include <iostream> using namespace std; int main() { int low, high, i; bool isPrime = true; cout << "Enter two numbers (intervals): "; cin >> low >> high; cout << "\nPrime numbers between " << low << " and " << high << " are: " << endl; while (low < high) { isPrime = true; if (low == 0 || low == 1) { isPrime = false; } else { for (i = 2; i <= low / 2; ++i) { if (low % i == 0) { isPrime = false; break; } } } if (isPrime) cout << low << " "; ++low; } return 0; }
输出
Enter two numbers (intervals): 0 20 Prime numbers between 0 and 20 are: 2 3 5 7 11 13 17 19
在这个程序中,
while
循环被迭代了
(high-low-1)
次。
在每次迭代中,检查
low 是否为素数,并且
low 的值递增 1,直到
low 为等于
high。
访问此页面以了解有关如何检查数字是否为质数的更多信息。
如果用户先输入较大的数字,则该程序无法按预期运行。如果用户先输入较大的数字,您可以通过交换数字来解决这个问题。
示例 2: 首先输入较大数字时显示质数
#include <iostream> using namespace std; int main() { int low, high, temp, i; bool isPrime; cout << "Enter two numbers (intevals): "; cin >> low >> high; //swapping numbers if low is greater than high if (low > high) { temp = low; low = high; high = temp; } cout << "\nPrime numbers between " << low << " and " << high << " are:" << endl; while (low < high) { isPrime = true; if (low == 0 || low == 1) { isPrime = false; } else { for (i = 2; i <= low / 2; ++i) { if (low % i == 0) { isPrime = false; break; } } } if (isPrime) cout << low << " "; ++low; } return 0; }
输出
Enter two numbers (intervals): 20 0 Prime numbers between 0 and 20 are: 2 3 5 7 11 13 17 19
访问此页面以了解如何使用用户定义的函数显示两个区间之间的所有质数。。 >