输入格式:输入在第一行给出一个正整数N,随后N行,每行给出一个小于2的31次方的需要判断的正整数,如果是素数,则在一行中输出Yes,否则输出No
提示部分正确,是没有考虑偶数和最大素数的问题吗?改如何体现这一点呢

判断一个给定的正整数是否是素数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 木易荆岑 2022-03-22 21:46关注
漏掉了1既不是质数也不是合数
import math n=int(input()) for i in range(n): m=int(input()) if m==1: print('No') else: for j in range(3, int(math.sqrt(m) + 1),2): if m % j == 0 or m % 2 == 0: print('NO') break else: print('Yes') break
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用 2