设计一个c++程序,程序功能:输入一个大于或等于2的正整数,判断是否为素数,如果是,则输入yes;否则,输入no
时间: 2023-05-30 11:03:27 浏览: 589
```
#include <stdio.h>
int main() {
int n, i;
printf("请输入一个大于或等于2的正整数:");
scanf("%d", &n);
if (n < 2) {
printf("输入的数字不符合要求。\n");
return 0;
}
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
printf("no\n");
return 0;
}
}
printf("yes\n");
return 0;
}
```
解析:
1. 首先提示用户输入一个大于或等于2的正整数。
2. 如果输入的数小于2,则输出提示信息并结束程序。
3. 从2开始到$\sqrt{n}$为止,依次判断是否能整除n。
4. 如果存在一个因子,则n不是素数,输出no并结束程序。
5. 如果不存在因子,则n是素数,输出yes并结束程序。
相关问题
设计一个c++程序,程序功能:输入三个大于或等于2的正整数,判断是否为素数,如果是,则输入yes;否则,输入no
#include <stdio.h>
// 判断一个数是否为素数
int is_prime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num1, num2, num3;
printf("请输入三个大于等于2的正整数,用空格隔开:\n");
scanf("%d %d %d", &num1, &num2, &num3);
if (is_prime(num1)) {
printf("yes ");
} else {
printf("no ");
}
if (is_prime(num2)) {
printf("yes ");
} else {
printf("no ");
}
if (is_prime(num3)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
判断一个大于2的正整数n是否为素数 用C++
可以使用以下代码来判断一个大于2的正整数n是否为素数:
```c++
#include <iostream>
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 << "请输入一个大于2的正整数:";
cin >> n;
if (isPrime(n)) {
cout << n << "是素数。" << endl;
} else {
cout << n << "不是素数。" << endl;
}
return 0;
}
```
代码中的 `isPrime` 函数用于判断一个大于2的正整数n是否为素数,它通过遍历2到sqrt(n)之间的所有整数来判断n是否能被整除。如果n不能被整除,则n是素数,返回true;否则n不是素数,返回false。在主函数中,用户输入一个大于2的正整数n,程序输出n是否为素数的结果。