c++输入一个正整数m,判断该数是不是素数。素数是除了1和本身之外,不能被其他数整除的数
时间: 2024-12-19 14:18:39 浏览: 6
输入一个正整数,判断是不是素数(C++)
在 C++ 中,你可以通过编写一个函数来判断一个正整数 m 是否为素数。素数的定义是只有两个正因数:1 和自身。以下是一个简单的算法:
```cpp
#include <iostream>
using namespace std;
bool isPrime(int m) {
// 素数必须大于1
if (m <= 1)
return false;
// 检查从2到√m是否能整除m
for (int i = 2; i * i <= m; i++) {
if (m % i == 0) {
// 如果找到一个因子,则m不是素数
return false;
}
}
// 如果没找到因子,那么m就是素数
return true;
}
int main() {
int m;
cout << "请输入一个正整数: ";
cin >> m;
if (isPrime(m))
cout << m << " 是素数" << endl;
else
cout << m << " 不是素数" << endl;
return 0;
}
```
在这个程序中,我们首先检查数字是否小于等于1,因为1不是素数。然后,从2开始遍历到m的平方根(因为如果m有因子大于其平方根,那么它必然也有一个小于平方根的因子),看是否存在因子。如果存在,就返回false;否则,m就是素数。
阅读全文