平方回文数-第13届蓝桥杯选拔赛Python真题精选

导读:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python**蓝桥杯真题解析100讲》,**这是解读系列的第73讲。

**平方回文数,**本题是2021年11月27日举办的第13届蓝桥杯青少组Python编程选拔赛真题编程部分第4题。题目要求编程输出100到M之间的平方回文数的个数。

先来看看题目的要求吧。

一.题目说明

编程实现:

给定一个正整数M(100 < M < 2000),输出100到M之间(包含M)的平方回文数的个数。

例如:M为150,则在100到150之间的平方回文数有1个,为121,输出1。

输入描述:

输入一个正整数M

输出描述:

输出100到M之间(包含M)的平方回文数的个数

样例输入:

150

样例输出:

1

二.思路分享

这是一道经典的数论题,涉及的知识点包括回文数,循环、列表、递归算法和动态规划等。

很明显,这是典型的枚举算法,将100到M之间所有的数字挨个进行判断即可。所以这里的重点是如何判断给定数字是平方回文数。

这里有两个概念,一个是回文数,一个是平方数。

关于回文数的判断,在之前的蓝桥真题中出现过多次,实现的方法也比较多,具体可以参考《输出回文数-第11届蓝桥杯选拔赛Python真题精选》这篇文章。

对于平方数的判断,最常见的就是使用数学方法,如果一个数n是平方数,那么它的平方根一定是一个整数,比如:

复制代码
100的平方根是10121的平方根是11144的平方根是12

因此我们可以先计算数出n的平方根并转成整数m,再判断m * m是否等于n,如果相等,说明n为平方数。

为了简化代码,我们可以自定义两个函数分别用于判断,然后在循环中调用函数进行判断并统计平方回文数的个数。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们分3步来编写程序:

  • 判断回文数

  • 判断平方数

  • 统计平方回文数

1. 判断回文数

在Python编程中,最简单的方法就是使用切片运算逆序字符串,再判断原字符串和逆序字符串是否相等。

定义函数如下:

代码非常简单,需要注意的是,n是整数,需要先转成字符串再进行处理。

2. 判断平方数

根据前面的思路分析,自定义函数如下:

代码非常简单,说明两点:

1). 在Python中,**是幂运算,可以使用 **0.5来计算算术平方根,得到的结果是浮点数,使用int()函数将其转成整型;

2). 在计算平方根的时候,也可以使用math模块中的sqrt()函数,效果一样,但需要引入math模块。

3. 统计平方回文数

有了上面定义的两个函数,接下来只需要使用循环挨个判断并统计即可,代码如下:

代码比较简单,注意一个细节,就是循环的起点和终点,根据题目的说明和样例数据,不包括100,但是包括M。

至此,整个程序就全部完成了,你可以输入不同的数字来测试效果啦。

四.总结与思考

本题代码在12行左右,涉及到的知识点包括:

  • 循环语句;

  • 字符串处理,重点是切片运算;

  • 幂运算的应用;

  • 自定义函数;

本题代码不多,难度一般,关键点有两个,一是如何判断回文数,二是如何判断平方数。

回文数是编程中的经典问题,判断的方法也比较多,在Python编程中,最简单的就是使用字符串逆序方法,尤其是切片运算,真的是太好用了,一定要熟练掌握。

和其他语言不同的是,Python提供了一个强大的幂运算符**,它用于计算一个数的幂,即底数的指数次方。

例如,𝑎𝑏表示𝑎的𝑏次幂,可以直接使用 a ** b 来表示,它不仅可以用于计算平方、立方,还可以计算平方根、立方根等,非常强大。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至"超平的编程课"gzh。

相关推荐
金銀銅鐵13 小时前
用 Tkinter 实现简单的论语第一章阅读器
后端·python
小玮看世界13 小时前
【技术成长实录】北京地铁12号线数据分析系统:从一个观察到一个完整项目的演进之路
python·人机交互·学习方法·cicd·项目交付
极光代码工作室13 小时前
基于机器学习的金融风险预测系统
python·深度学习·机器学习·ai·系统设计
吴阿福|一人公司13 小时前
Python 类变量修改的压力测试:高并发场景
开发语言·python
hikktn13 小时前
Excel 日期格式统一治理:从“显示不全“到“自动兼容“的完整方案
windows·python·excel
财经资讯数据_灵砚智能13 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月11日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
CC数学建模13 小时前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题C题:创业社区规划与资源配置优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
2601_9561394213 小时前
性价比高的VI设计质量
大数据·人工智能·python·物联网
右耳朵猫AI13 小时前
Python周刊2026W23 | Polars 1.41、PyPy v7.3.23、Python 3.15、httpx2、dj-lite-tenant
开发语言·python
garmin Chen13 小时前
prompt实战:nof1.ai Alpha Arena
java·人工智能·python·prompt