用c++写一个判别一个整数是否为素数的函数,在主函数中输入一个整数,通过参数调用,输出该数是否为素数. (函数首部: int prime(int n); 函数值返回1或0,分别代表是、否。)
时间: 2024-04-29 15:21:54 浏览: 117
以下是代码实现:
```c++
#include <iostream>
using namespace std;
int prime(int n);
int main() {
int n;
cout << "请输入一个整数: ";
cin >> n;
if (prime(n)) {
cout << n << "是素数" << endl;
} else {
cout << n << "不是素数" << endl;
}
return 0;
}
int prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
首先在主函数中输入一个整数n,然后通过调用prime函数判断n是否为素数。prime函数首先判断n是否小于等于1,因为小于等于1的整数都不是素数。然后从2开始遍历到sqrt(n),如果在这个范围内找到n的因子,说明n不是素数,返回0;如果一直遍历到sqrt(n)都没有找到n的因子,说明n是素数,返回1。
相关问题
用c++写一个判别素数的函数,在主函数中输入一个整数,输出是否为素数的信息
以下是用C++写的判断素数的函数:
```cpp
#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() {
int n;
cout << "Enter an integer: ";
cin >> n;
if(isPrime(n)) {
cout << n << " is a prime number." << endl;
} else {
cout << n << " is not a prime number." << endl;
}
return 0;
}
```
首先,定义一个 `isPrime` 函数来判断一个数是否为素数。如果这个数小于等于1,那么它不是素数,直接返回 `false`。否则,从2开始到该数的平方根之间的所有整数,逐一判断该数是否能被整除。如果能,那么它不是素数,返回 `false`。如果整个循环结束后都没有找到能整除的数,那么这个数是素数,返回 `true`。
在主函数中,先输入一个整数,然后调用 `isPrime` 函数进行判断,输出相应的信息。
用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;
}
```
这个函数接受一个整数,然后使用一个for循环遍历从2到n的所有数字,检查是否存在除1和n本身以外的因子。如果存在,则返回false,否则返回true。在主函数中,我们输入一个整数并调用isPrime函数来判断它是否是素数。
阅读全文