c++用定义函数判断一个是否为素数
时间: 2023-09-15 07:22:24 浏览: 69
以下是一个判断一个数是否为素数的 C++ 函数:
```c++
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;
}
```
这个函数会接收一个整数 `n`,如果 `n` 小于等于 1,则直接返回 `false`。然后我们从 2 开始遍历到 $\sqrt{n}$,如果发现 `n` 除以当前的遍历的数 i 余数为 0,则说明 `n` 不是素数,直接返回 `false`。如果遍历完了都没有发现 `n` 的因子,则说明 `n` 是素数,返回 `true`。
相关问题
C++定义函数判断一个数是否为素数
可以使用以下代码判断一个数是否为素数:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
首先判断输入的数是否小于等于1,如果是,则不是素数。然后使用for循环从2开始遍历到num的平方根,如果num能被整除,则不是素数。如果循环结束后都没有找到能整除num的数,则num是素数。
用c++代码表示可以判断一个正整数是否为素数的定义函数
可以使用如下的 C 代码来定义一个函数,用于判断一个正整数是否为素数:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d is a prime number.\n", n);
} else {
printf("%d is not a prime number.\n", n);
}
return 0;
}
```
该函数的思路是:对于一个大于等于 2 的正整数,如果它能被 2 到它本身的一半之间的任何一个数整除,那么它就不是素数,否则它就是素数。