当前位置: 首页 > news >正文

PAT乙级_1114 全素日_Python_AC解法_含疑难点

注意事项:

       因为笔者的编程水平以自学为主,代码结构可能比较混乱、变量命名可能不够规范。

       文章中的AC解法不一定最优,并且包含笔者强烈的个人风格,不喜勿喷,但欢迎在评论中理性讨论或者给出提升建议。

       文章中提到的疑难点仅为个人在刷题过程中所遇到的情况,如有读者存在其他疑难点,欢迎在评论中加以补充,笔者会尽量将其加入到文章内容中。


合集: 

 PAT乙级_合集_Python_AC解法


 题目:

1114 全素日

题目描述: 

wbfg.JPG

以上图片来自新浪微博,展示了一个非常酷的“全素日”:2019年5月23日。即不仅20190523本身是个素数,它的任何以末尾数字3结尾的子串都是素数。

本题就请你写个程序判断一个给定日期是否是“全素日”。

输入格式:

输入按照 yyyymmdd 的格式给出一个日期。题目保证日期在0001年1月1日到9999年12月31日之间。

输出格式:

从原始日期开始,按照子串长度递减的顺序,每行首先输出一个子串和一个空格,然后输出 Yes,如果该子串对应的数字是一个素数,否则输出 No。如果这个日期是一个全素日,则在最后一行输出 All Prime!

输入样例1:

20190523

输出样例1: 

20190523 Yes
0190523 Yes
190523 Yes
90523 Yes
0523 Yes
523 Yes
23 Yes
3 Yes
All Prime!

输入样例2:

20191231

输出样例2:

20191231 Yes
0191231 Yes
191231 Yes
91231 No
1231 Yes
231 No
31 Yes
1 No

代码限制: 

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB


AC解法: 
# 构造函数用于素数判断
def prime(num):  # 设置输入参数 numif num < 2:  # 若 num 小于 2return False  # 返回 Falsefor n in range(2, int(num ** 0.5) + 1):  # 遍历 num 可能存在的因数if num % n == 0:  # 若 num 对该因数取余的结果为 0 ,即 num 不是素数return False  # 返回 Falsereturn True  # 返回 True# 获取输入的数据
date = input()  # 获取输入的日期# 处理数据并输出结果
flag = True  # 创建变量用于标记错误情况,初始值为 True
for i in range(8):  # 遍历起始位置if prime(int(date[i:])):  # 若该位置起至尾部的数字是素数print(f"{date[i:]} Yes")  # 按格式要求输出对应的结果else:  # 该位置起至尾部的数字不是素数print(f"{date[i:]} No")  # 按格式要求输出对应的结果flag = False  # 标记更新为 False
if flag:  # 若标记值为 True,即该日期是一个全素日print('All Prime!')  # 输出结果

题目解读:

       本题描述比较易懂。

       先获取输入的数据,再逐步去除头部数字并进行素数判断,同时也逐行输出对应情况,最后根据是否为全素日的情况并输出对应的结果。

疑难点: 

其他注意事项

1、

       需要保留数字的前导零。


文章转载自:

http://XL9rI2ve.prfrb.cn
http://XCQZN8wD.prfrb.cn
http://iVdTR81O.prfrb.cn
http://nA6jvxKZ.prfrb.cn
http://F6UGVlgY.prfrb.cn
http://si3frizu.prfrb.cn
http://4ltLzCSB.prfrb.cn
http://AMhHUcFg.prfrb.cn
http://efZ7Ntzp.prfrb.cn
http://ObV4Dafc.prfrb.cn
http://PzO6a1OR.prfrb.cn
http://SjBQzXfE.prfrb.cn
http://iq3U1V4X.prfrb.cn
http://zE6h9De2.prfrb.cn
http://Ul3uBBI7.prfrb.cn
http://61Kjn9Pf.prfrb.cn
http://bu07KPix.prfrb.cn
http://oAghCDIU.prfrb.cn
http://qDTEehwr.prfrb.cn
http://7BDY3Z6X.prfrb.cn
http://bnn7a8eG.prfrb.cn
http://3HD9WKUR.prfrb.cn
http://kGMdRhB9.prfrb.cn
http://RL2jexKQ.prfrb.cn
http://ydFURuJW.prfrb.cn
http://9WrtIbQw.prfrb.cn
http://v6QsKlzh.prfrb.cn
http://R9fJycFW.prfrb.cn
http://jboDAXqX.prfrb.cn
http://pImsBUMS.prfrb.cn
http://www.dtcms.com/a/380937.html

相关文章:

  • 一、HTML 完全指南:从零开始构建网页
  • 【硬件-笔试面试题-87】硬件/电子工程师,笔试面试题(知识点:解决浪涌电压)
  • Spring的注解
  • Java Class Analyzer MCP Server:让AI精准理解Java依赖的利器
  • 创建自己的Docker镜像,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)
  • Windows11安装Docker Desktop
  • FastJson解析对象后验签失败问题分析
  • 【Vue2手录12】单文件组件SFC
  • Pinia
  • MySQL按时间Range分区
  • python发送请求SSL验证设置
  • 关于栈和队列的OJ练习
  • WebGIS包括哪些技术栈?怎么学习?
  • 15、优化算法工程实践 - 从数学理论到AI训练的核心引擎
  • VS2019 Community 社区版下载链接
  • 高低压隔离器的技术演进与行业赋能
  • 氚燃料增殖里程碑:MIT新型BABY包层技术实验验证
  • 【案例教程】基于R语言的物种气候生态位动态量化与分布特征模拟实践技术应用
  • 《WINDOWS 环境下32位汇编语言程序设计》第16章 WinSock接口和网络编程(1)
  • 实习总结——关于联调解决的因CRC校验导致协议交互失败的调试经验总结
  • 【从零开始的大模型原理与实践教程】--第三章:预训练语言模型
  • GitHub Copilot支持 GPT-5 和 GPT-5 mini!
  • Day01 Geant4学习
  • 11. 网络同步模型 - 状态同步A
  • Mem0 + Milvus:为人工智能构建持久化长时记忆
  • 力学矢量三角形“无脑”求解指南:基于极角代数的系统化方法
  • 算法第四题移动零(双指针或简便设计),链路聚合(两个交换机配置)以及常用命令
  • 背包问题从入门到入土
  • 远程连接--向日葵
  • 植物灯电源芯片选型指南:如何实现高效与智能?