c++自定义函数输入一个数n,判断其是否是素数。
时间: 2024-05-13 08:16:07 浏览: 141
以下是实现该功能的C++代码:
```c++
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cout << "请输入一个数:";
cin >> n;
if (isPrime(n)) {
cout << n << "是素数" << endl;
} else {
cout << n << "不是素数" << endl;
}
return 0;
}
```
其中,isPrime()函数用于判断给定的数n是否为素数。具体实现中,首先判断n是否小于等于1(不是素数),然后从2到sqrt(n)的范围内枚举每个数i,判断n是否能被i整除。如果存在一个i能够整除n,那么n就不是素数,否则n是素数。
相关问题
输出[a,b]区间内所有素数,输出格式为10个素数一行,素数间以一个空格分隔,一行最后一个素数之后没有空格。编写函数判断一个数是否为素数,主函数调用此自定义函数完成题目要求。c++
以下是实现代码:
```c++
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
int main() {
int a, b, cnt = 0;
cin >> a >> b;
for (int i = a; i <= b; i++) {
if (isPrime(i)) {
cnt++;
cout << i;
if (cnt % 10 == 0 || i == b) cout << endl;
else cout << " ";
}
}
return 0;
}
```
首先定义一个 `isPrime` 函数,用于判断一个数是否为素数。判断方法是从 2 开始到该数的平方根遍历,如果存在一个因子,则该数不是素数。
然后在主函数中输入区间的上下界,遍历这个区间内的所有数,如果是素数则按照题目要求输出。具体来说,用一个变量 `cnt` 记录当前已经输出了多少个素数,每输出一个素数就将 `cnt` 加一,当 `cnt` 能被 10 整除或者已经到了区间的右边界时就换行,否则以空格分隔。
注意,题目要求输出的是区间 `[a,b]` 内的所有素数,因此在循环的时候应该包含边界值 `a` 和 `b`。
c++自定义函数输出1到100之间的所有的素数。
好的,以下是一个简单的 C++ 自定义函数,用于输出 1 到 100 之间的所有素数:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
for (int i = 1; i <= 100; i++) {
if (isPrime(i)) {
cout << i << " ";
}
}
return 0;
}
```
以上代码中,我们定义了一个名为 `isPrime` 的函数,它接受一个整数参数 `n`,并返回一个布尔值,表示该整数是否为素数。该函数使用了一个常见的判断素数的算法,即从 2 到该数的平方根范围内依次测试是否能整除。
在主函数中,我们循环调用 `isPrime` 函数,输出所有 1 到 100 之间的素数。
阅读全文