设计一个函数prime,参数为一个整数x,函数的功能是判断x是否为素数,如果是返回True,否则返回False。在主程序中,给出一组数,调用prime判断是否为素数,并输出每个数的判定结果
时间: 2024-02-09 21:13:33 浏览: 119
可以按照以下方式实现函数`prime`:
```python
def prime(x):
if x < 2:
return False
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
return False
return True
```
函数`prime`的主要思路是:如果x小于2,则x不是素数;否则从2到x的平方根进行遍历,如果存在某个数可以整除x,则x不是素数,否则x是素数。需要注意的是,在判断x是否为素数时,只需要遍历到x的平方根即可,这是因为如果x可以分解为两个大于其平方根的数的乘积,那么这两个数中至少有一个小于其平方根,否则它们的乘积会大于x。
接下来,在主程序中可以如下调用函数`prime`:
```python
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in nums:
if prime(num):
print(num, "是素数")
else:
print(num, "不是素数")
```
输出结果如下:
```
1 不是素数
2 是素数
3 是素数
4 不是素数
5 是素数
6 不是素数
7 是素数
8 不是素数
9 不是素数
10 不是素数
```
对于给定的每个数,调用函数`prime`进行判断,并输出结果。
相关问题
素数判断(v1) 设计一个函数prime,参数为一个整数x,函数的功能是判断x是否为素数,如果是返回True,否则返回False。在主程序中,给出一组数,调用prime判断是否为素数,并输出每个数的判定结果
好的,下面是实现素数判断的代码(使用了试除法):
```python
def prime(x):
if x < 2:
return False
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
return False
return True
# 测试
nums = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
for num in nums:
if prime(num):
print(num, "是素数")
else:
print(num, "不是素数")
```
在上面的代码中,我们首先判断x是否小于2,因为2是最小的质数。然后从2开始到x的平方根(向下取整)之间的所有数进行试除,如果x能被其中的一个数整除,那么就不是素数,否则就是素数。最后在主程序中,我们给出了一组数,调用prime函数进行判断,并输出结果。
希望这个代码能够解决你的问题。
1. 编写一个C函数,名为is_Prime,接收一个整数参数n,判断该数是否为质数(素数),若是返回True,否则返回False。在main函数里调用is_Prime,从键盘输入一个整数测试该函数功能。
在C语言中,你可以编写如下的is_Prime函数来判断一个整数是否为质数:
```c
#include <stdbool.h>
#include <stdio.h>
// 定义is_Prime函数
bool is_Prime(int n) {
if (n <= 1) { // 如果n小于等于1,不是质数
return false;
}
for (int i = 2; i * i <= n; i++) { // 只需要检查到i*i大于n即可
if (n % i == 0) { // 如果n能被i整除,说明不是质数
return false;
}
}
return true; // 没有找到因子,n是质数
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 调用is_Prime函数并打印结果
bool result = is_Prime(num);
if (result) {
printf("%d是质数\n", num);
} else {
printf("%d不是质数\n", num);
}
return 0;
}
```
在这个程序中,用户可以在`main`函数中通过键盘输入一个整数,然后`is_Prime`函数会检查这个数字是否为质数,并输出相应的结果。
阅读全文
相关推荐














