M = int(input())
flag=1
if M == 2:
print("Yes")
elif M <= 0:
print("No")
elif M == 1:
print("No")
else:
for i in range(2, M):
if M % i == 0:
flag=0
break
if flag==1:
print("Yes")
else:
print("No")
pta判断素数运行超时,如何解决?(语言-python)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 社区专家-Monster-XH 2023-04-16 13:05关注
基于Monster 组和GPT的调写:
剪枝优化:import math M = int(input()) flag = 1 if M == 2: print("Yes") elif M <= 0 or M == 1: print("No") else: for i in range(2, int(math.sqrt(M)) + 1): if M % i == 0: flag = 0 break if flag == 1: print("Yes") else: print("No")
用质数筛选法的优化
import math # 构建素数表 MAXN = 1000000 is_prime = [True] * (MAXN + 1) is_prime[0], is_prime[1] = False, False for i in range(2, int(math.sqrt(MAXN)) + 1): if is_prime[i]: for j in range(i * i, MAXN + 1, i): is_prime[j] = False M = int(input()) if M < 2 or not is_prime[M]: print("No") else: print("Yes")
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵