输入一个正整数num,判断num是否为素数。若为素数则输出1,否则输出0。(提示:素数是指只可以被1和其本身整除的正数(1除外)) 输入10输出0 输入7输出1
时间: 2024-02-24 10:56:00 浏览: 32
好的,这是一个简单的算法题,我来给你提供一个Python的实现代码:
```python
def is_prime(num):
if num <= 1:
return 0
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return 0
return 1
num = int(input("请输入一个正整数:"))
print(is_prime(num))
```
这里我们定义了一个`is_prime`函数来判断输入的数是否为素数,如果是素数则返回1,否则返回0。在函数中,我们先判断如果输入的数小于等于1,则直接返回0,因为1不是素数。接着使用一个循环从2开始到num的平方根加1,依次判断是否能够整除num,如果能够整除则返回0,因为该数不是素数。最后如果循环结束都没有返回0,则说明该数是素数,返回1即可。最后我们通过`input`函数获取用户输入的正整数,然后调用`is_prime`函数来判断该数是否为素数,并输出结果。
相关问题
使用c语言编写:输入一个正整数num,判断num是否为素数。若为素数则输出1,否则输出0。(提示:素数是指只可以被1和其本身整除的正数(1除外)) 输入10输出0 输入7输出1
好的,这是一个简单的算法题,以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int num, i, isPrime = 1;
printf("请输入一个正整数:");
scanf("%d", &num);
for (i = 2; i < num; i++) {
if (num % i == 0) {
isPrime = 0;
break;
}
}
if (isPrime == 1) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
首先读入一个正整数,然后用for循环从2开始到num-1,判断num是否能被i整除,如果是,则说明num不是素数,将isPrime置为0,直接跳出循环。如果for循环完之后isPrime仍为1,则说明num是素数。最后根据isPrime的值输出结果即可。
利用while循环输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
好的,以下是利用while循环输入一个正整数,判断其是否为素数的代码实现:
```python
num = int(input("请输入一个正整数:"))
is_prime = True
if num < 2:
is_prime = False
else:
i = 2
while i < num:
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
解释一下代码:
- 首先,我们利用 `input` 函数输入一个正整数,并且将其转换成整数类型 `num`。
- 然后,我们设置一个布尔型变量 `is_prime`,并将其初始化为 `True`。这个变量用来判断 `num` 是否为素数。
- 如果 `num` 小于 2,那么其一定不是素数,此时将 `is_prime` 赋值为 `False`。
- 如果 `num` 大于等于 2,那么我们使用 `while` 循环来判断其是否为素数。我们从 2 开始依次检查 `num` 能否被 2 到 `num-1` 中的任意一个整数整除,如果能,则说明 `num` 不是素数,将 `is_prime` 赋值为 `False`,并使用 `break` 语句退出循环。如果 `num` 不能被整除,则继续循环。
- 最后,根据 `is_prime` 的值输出结果,如果为 `True`,则输出 "Yes",否则输出 "No"。
希望这个代码对你有帮助!