用C++判断输入的数是否为素数。如果为素数,输出为1;不是素数,输出为0。 注意:1不是素数,2是素数。
时间: 2024-05-10 18:20:39 浏览: 41
```c
#include <stdio.h>
int main() {
int n, i, flag = 1;
scanf("%d", &n);
if (n == 1) { // 1不是素数
flag = 0;
}
for (i = 2; i <= n / 2; i++) { // 判断n是否有因子
if (n % i == 0) {
flag = 0;
break;
}
}
if (n == 2) { // 2是素数
flag = 1;
}
printf("%d", flag);
return 0;
}
```
相关问题
用c++判断输入一个数是否为素数,并且输出判断结果
在C++中,判断一个数是否为素数,通常需要编写一个函数,这个函数接受一个整数作为输入,然后通过循环检查该数是否有除了1和它本身以外的因子。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
bool isPrime(int num) {
if (num <= 1) { // 0和1不是素数
return false;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到√n,因为超过这个值的因子必定有一个小于等于它的平方根
if (num % i == 0) { // 如果能被i整除,则num不是素数
return false;
}
}
return true; // 否则,num是素数
}
int main() {
int input;
cout << "请输入一个整数:";
cin >> input;
if (isPrime(input)) {
cout << input << "是素数。\n";
} else {
cout << input << "不是素数。\n";
}
return 0;
}
```
在这个程序中,`isPrime`函数首先检查数字是否小于或等于1,接着遍历从2到该数平方根的所有整数,如果发现有能整除的,就返回false;如果没有找到因子,则返回true。
判断输入的数是否为素数。如果为素数,输出为1;不是素数,输出为0。 注意:1不是素数,2是素数 用c++来写
```c
#include <stdio.h>
int main() {
int n, i, flag = 1;
scanf("%d", &n);
if (n == 1) {
flag = 0;
} else {
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
flag = 0;
break;
}
}
}
printf("%d", flag);
return 0;
}
```