编写一个判断素数的函数fun,主函数输入一个正整数,调用fun函数后,是素数输出yes,不是素数输出no。
时间: 2023-05-31 07:20:55 浏览: 368
### 回答1:
以下是一个判断素数的函数fun的示例代码:
```python
def fun(n):
if n <= 1:
return False
for i in range(2, int(n ** .5) + 1):
if n % i == :
return False
return True
if __name__ == '__main__':
n = int(input("请输入一个正整数:"))
if fun(n):
print("yes")
else:
print("no")
```
主函数输入一个正整数,调用fun函数后,如果是素数则输出yes,否则输出no。
### 回答2:
判断素数的函数fun可以通过以下步骤实现:
1. 判断输入的正整数是否小于2,如果小于2,返回非素数。
2. 遍历2到输入正整数的平方根,判断是否有能够整除输入正整数的因子,如果有,返回非素数。
3. 在遍历结束后,若未能找到能够整除输入正整数的因子,返回素数。
具体的函数实现如下:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def main():
n = int(input("请输入一个正整数:"))
if is_prime(n):
print("yes")
else:
print("no")
if __name__ == "__main__":
main()
```
在主函数中,输入想要判断的正整数,然后调用判断素数的函数is_prime。若返回True,表示输入正整数是素数,打印输出“yes”,否则输入正整数不是素数,输出“no”。
### 回答3:
判断素数是基础的算法题,理解了算法的原理后,编写一个判断素数的函数fun是非常简单的。以下是一个简单易懂的代码示例:
```
#include <stdio.h>
int fun(int n)
{
int i;
if (n <= 1)
{
return 0;
}
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (fun(n))
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}
```
其中,fun函数的原理是通过循环对2到n的平方根之间的每个整数进行取模运算,如果余数为0,则说明n是一个合数,返回0;否则说明n是一个质数,返回1。
需要注意的是,题目中要求主函数输入一个正整数,因此需要对输入数据进行合法性校验,以防止用户输入负数或其他非法字符等情况。
对于初学者来说,编写简单的应用程序是一个很好的练习,同时也是学习算法和编程的有效途径。通过不断地练习,奠定好编程的基础,才能更好地进行编程实践和深入研究。
阅读全文