输入一个大于等于3的正整数,判断其是否是素数。
时间: 2024-05-03 19:21:50 浏览: 13
以下是Python代码实现:
```
num = int(input("请输入一个大于等于3的正整数:"))
# 判断是否是素数
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
# 输出结果
if is_prime:
print(num, "是素数")
else:
print(num, "不是素数")
```
解释一下代码:
1. 首先通过`input()`函数获取用户输入的正整数。
2. 然后通过循环判断该数是否是素数。素数指除1和本身外没有其他因数的数。因此,我们在循环中从2到该数的平方根进行遍历,如果该数能被其中任意一个数整除,则它不是素数。
3. 最后判断该数是否是素数,并输出结果。
相关问题
用c语言实现,输入一个大于等于3的正整数,判断其是否是素数
```
#include <stdio.h>
int main() {
int num, i;
printf("请输入一个大于等于3的正整数:");
scanf("%d", &num);
for (i = 2; i < num; i++) {
if (num % i == 0) {
printf("%d不是素数\n", num);
return 0;
}
}
printf("%d是素数\n", num);
return 0;
}
```
思路:从2开始到num-1,依次判断num是否能被i整除,如果能,则num不是素数。如果循环结束后仍然没有找到能整除num的i,则num是素数。
输入一个大于2的正整数n,判断n是否为素数
以下是Python代码实现:
```python
n = int(input("请输入一个大于2的正整数:"))
if n <= 2:
print("输入有误!")
else:
for i in range(2, int(n**(0.5))+1):
if n % i == 0:
print(n, "不是素数")
break
else:
print(n, "是素数")
```
代码思路:
1. 首先输入一个大于2的正整数n;
2. 如果n小于等于2,则输入有误,程序结束;
3. 从2开始到n的平方根(向下取整)之间的每个整数i,判断n能否被i整除;
4. 如果n能被i整除,则n不是素数,程序结束;
5. 如果n不能被任何一个i整除,则n是素数,程序结束。
需要注意的是,在第3步中,我们只需要判断到n的平方根,因为如果n有大于平方根的因数,那么它一定有小于平方根的因数,而这些因数在之前已经被判断过了,所以不必重复判断。