使用C++编程:从键盘上输入一个数,判断其是不是素数。所谓素数是指这个数只能被1和自身整除。例如: 从键盘输入5,5是素数则打印如下信息:5 is a prime number. 又如:从键盘输入4, 4不是素数则打印如下信息:4 is not a prime number
时间: 2024-10-21 20:11:26 浏览: 22
在C++中,你可以通过以下步骤编写程序来判断用户输入的数是否为素数:
```cpp
#include <iostream>
using namespace std;
// 函数判断一个数是否为素数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) { // 遍历从2到根号n,跳过非质因数
if (num % i == 0) // 如果num能被i整除,则不是素数
return false;
}
return true; // 所有因子都检查过了,说明num是素数
}
int main() {
int input;
cout << "请输入一个整数: ";
cin >> input;
if (isPrime(input))
cout << input << " is a prime number." << endl;
else
cout << input << " is not a prime number." << endl;
return 0;
}
```
在这个程序中,我们首先定义了一个函数`isPrime`用于检查输入的数字是否为素数。然后在`main`函数中获取用户的输入,并调用`isPrime`函数来做出判断并输出结果。
相关问题
用DevC++编程实现:从键盘上任意输入一个正整数,若为素数则输出。
```c
#include <stdio.h>
int main()
{
int n, i, flag = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
for(i = 2; i <= n/2; i++)
{
if(n % i == 0)
{
flag = 0;
break;
}
}
if(flag == 1)
printf("%d是素数。\n", n);
else
printf("%d不是素数。\n", n);
return 0;
}
```
说明:
1. 首先从键盘上输入一个正整数n;
2. 然后使用for循环判断n是否为素数,判断方法为:从2到n/2,依次判断n能否被整除,若能被整除,则说明n不是素数,否则n为素数;
3. 最后根据flag的值输出结果。若flag为1,则说明n是素数,否则n不是素数。
用c++写从键盘输入一个数,判断是否为素数
```
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
flag = 1;
break;
}
}
if (num == 1) {
printf("1既不是质数也不是合数。\n");
}
else {
if (flag == 0)
printf("%d 是一个质数。\n", num);
else
printf("%d 不是一个质数。\n", num);
}
return 0;
}
```
其中,flag为标记变量,初始值为0,如果num能够被2到num/2之间的任何一个整数整除,则flag变为1,表示num不是素数。如果循环结束后flag仍为0,则说明num是素数。需要注意的是,1既不是质数也不是合数,需要特别处理。
阅读全文