定义函数 fun_a()判断某数是否为素数,若是素数返回值为 1,不是则返回值为 0
时间: 2024-03-12 18:50:29 浏览: 93
好的,您可以这样定义函数 `fun_a()` 判断某数是否为素数:
```python
def fun_a(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` 为待判断的数,如果是素数则返回 1,不是则返回 0。函数中的判断方法为:从 2 到 $\sqrt{num}$ 遍历,如果有一个数能够整除 `num`,那么 `num` 就不是素数。
相关问题
[1] 编写一个子函数 int fun ( int n),其功能是判断整数n是否为素数,n是素数,返回值为1;n不是素数,返回值为0。调用该函数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示4个素数。
要编写一个名为`fun`的函数来判断一个整数`n`是否为素数,首先我们需要知道素数的定义:大于1的自然数,除了1和它本身以外不再有其他正因数的数。
以下是一个简单的C语言程序,实现了这个功能:
```c
#include <stdio.h>
// 函数声明
int is_prime(int n);
// 主函数
int main() {
for (int i = 100; i <= 200; ++i) {
if (is_prime(i)) {
printf("%04d", i); // %04d 用于确保始终占用4位
if ((i + 1) % 4 == 0 || i == 200) { // 每4个数换行
printf("\n");
}
}
}
return 0;
}
// 判断是否为素数的子函数
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
在这个程序中,`is_prime`函数检查给定数字是否能被从2到其平方根(因为如果一个数不是素数,那么一定存在一个小于或等于它的平方根的因子)整除。如果找到因子,函数返回0表示非素数,否则返回1表示素数。
主函数遍历100到200之间的所有整数,调用`is_prime`检查它们,如果是素数则打印出来。每显示4个数后换行,以满足题目要求。
编写一个子函数 int fun ( int n),其功能是判断整数n是否为素数,n是素数,返回值为1;n不是素数,返回值为0。调用该函数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示4个素数。
首先,我们可以编写一个名为 `is_prime` 的辅助函数来检查一个数字是否为素数。然后,我们为主函数 `print_primes` 创建一个循环,遍历从100到200的整数,并调用 `is_prime` 函数。如果数字是素数,就将其格式化成占4位并在屏幕上打印出来,同时保持每行显示4个素数。
```c
#include <stdio.h>
#include <stdbool.h>
// 辅助函数,判断一个数是否为素数
bool is_prime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
// 主函数,打印指定范围内的素数
void print_primes(int start, int end) {
for (int n = start; n <= end; n++) {
if (is_prime(n)) {
// 格式化输出,占4位
printf("%04d", n);
if ((n + 1) % 4 != 0) continue; // 每行显示4个数
printf("\n");
}
}
}
int main() {
print_primes(100, 200); // 调用函数并打印100至200之间的素数
return 0;
}
```
在这个程序中,`is_prime` 函数通过检查从2到`sqrt(n)`是否有能整除n的因子来确定n是否是素数。主函数则负责遍历给定区间并按照规则打印素数。
阅读全文