判断自守数-第13届蓝桥杯选拔赛Python真题精选

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

判断自守数,本题是2022年1月22日举办的第13届蓝桥杯青少组Python编程选拔赛真题编程部分第3题。题目要求对于给定的正整数,判断它是否为自守数,并输出字母"Y"和"N"。

先来看看题目的要求吧。

一.题目说明

提示信息:

一个正整数的平方的尾数一位或者几位数等于这个正整数,称为自守数

如:正整数 5 的平方为 25,25 的尾数一位是 5;

正整数 25 的平方为 625,625 的尾数两位是 25。

编程实现:

给定一个正整数,判断这个正整数是否为自守数,如果是输出大写字母“Y”,否者输出大写字母“N”。

注:1 为自守数

输入描述:

输入一个正整数

输出描述:

判断这个正整数是否为自守数,如果是输出大写字母“Y”,否者输出大写字母“N”

样例输入:

5

样例输出:

Y

二.思路分析

这是一道简单的数论题,涉及的知识点包括数学运算和字符串处理等。

自守数,亦称同构数,是指一个数的平方的尾数等于该数自身的自然数,先来看一组自守数吧:

5: (5) ^ 2 = 256: (6) ^ 2 = 3625: (25) ^ 2 = 62576: (76) ^ 2 = 5776376: (376) ^ 2 = 141376625: (625) ^ 2 = 3906259376: (3476) ^ 2 = 8790937690625: (90625) ^ 2  = 8212890625109376: (109376) ^ 2 = 11963109376

很容易找到这里的规律吧,对于一个k位的正整数n,其平方数的后k位刚好等于n。

因此,我们可以有如下两种方案:

  • 数学方法

  • 字符串方法

所谓数学方法,就是先计算正整数n的平方数和n的长度k,然后获取平方数的后k位,并和n进行比较,如果相等就是自守数。

字符串方法则是利用字符串函数endswith(),它用于判断一个字符串是否以指定的后缀结尾,用法如下:

str.endswith(suffix[, start[, end]])

三个参数说明如下:

  • suffix: 要匹配的后缀字符串或字符串元组。如果是元组,则其中任意一个字符串匹配即可返回 True;

  • start (可选): 查找的起始位置索引,默认为 0;

  • end (可选): 查找的结束位置索引,默认为字符串长度。

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

三.编程实现

根据上面的思路分析,我们使用两种方法来编写程序:

  • 数学方法

  • 字符串方法

1. 数学方法

根据前面的思路分析,编写代码如下:

图片

代码比较简单,说明两点:

1). 在Python中,对于字符串可以使用s[-k:]截取后k位字符串;

2). 截取字符串后,需要转成整型,再和n进行比较。

2. 字符串方法

直接使用endswith()函数,编写代码如下:

图片

这个就比较简单了,注意一个细节,就是n * n 和 n都需要转成字符串类型。

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

四.总结与思考

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

  • 类型转换;

  • 条件语句;

  • 字符串运算;

  • 字符串函数;

本题代码少,比较容易,关键点是找到自守数的特点,然后使用相应的方法来实现。

上面给出的两种方法,数学方法更为通用,可以适用于所有的编程语言,字符串方法则是借助了Python提供的字符串函数,编写程序更加简单。

对于这类题目,我们必须要同时熟练掌握这两种方法,这样才能更好的提升自己的编程水平。

超平老师给你留一道思考题,如何编程输出1~100000之间所有的自守数。

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666299.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

发电机组故障的原因、解决方案及解决措施

发电机组故障的原因、解决方案及解决措施可以总结如下: 一、故障原因 供电中断 原因:电网故障、线路短路或电力负荷过重等。 燃油问题 原因:燃油供应系统问题,如燃油管路堵塞、燃油质量不佳等。 轴承过热 原因:轴承过…

Android 11 Audio音频系统配置文件解析

在AudioPolicyService的启动过程中,会去创建AudioPolicyManager对象,进而去解析配置文件 //frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.cpp AudioPolicyManager::AudioPolicyManager(AudioPolicyClientInterface *clientIn…

19.1 简易抽奖

准备一个数组&#xff0c;里面添加10个奖品数据&#xff0c;让奖品数据快速的在盒子中随机显示&#xff0c;通过按钮控制盒子里面的内容停止。 效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

01-1.2.3 算法的空间复杂度

什么是空间复杂度&#xff1f; 代码在运行之前需要先装入内存&#xff0c;程序代码需要占一定的位置&#xff08;在这边假设是100B&#xff09; 定义的变量和参数i&#xff0c;n都需要占用内存空间 //算法一——逐步递增型 void loveYou(int n) { //n为问题规模int i 1; /…

红色文化VR虚拟线上云展馆将烈士纪念馆的宏伟全貌细致入微地呈现在您的眼前

在手机屏幕上轻轻滑动&#xff0c;即刻启程一场别开生面的线上打卡之旅。720全景线上展馆是深圳VR公司华锐视点运用先进的web3d开发和VR虚拟现实技术&#xff0c;将烈士纪念馆的宏伟全貌细致入微地呈现在您的眼前。 720全景线上展馆敢于打破时空的界限&#xff0c;带您回到那段…

618 购物指南:简单点 618 捡便宜,用这个利器就行

直接干货&#xff0c;看效果&#xff0c;安装脚本直接显示商家额外优惠券&#xff1a; 1、安装好脚本后&#xff0c;打开京东、淘宝(天猫) 商品详情页面&#xff0c;脚本会自动获取优惠券进行展示。 2、如果当前商品 处于 30 天最低价&#xff0c;脚本将自动进行标记 提醒&…

input输入框的一些复习

<template><div><div style"text-align: center;margin: 10px 0;"><span style"font-size: 15px;font-weight: bold;">input输入框的基本应用</span></div><el-descriptions :column"3" size"defau…

现如今AI大环境究竟怎样?

遇到难题不要怕&#xff01;厚德提问大佬答&#xff01; 厚德提问大佬答10 你是否对AI绘画感兴趣却无从下手&#xff1f;是否有很多疑问却苦于没有大佬解答带你飞&#xff1f;从此刻开始这些问题都将迎刃而解&#xff01;你感兴趣的话题&#xff0c;厚德云替你问&#xff0c;你…

VR导航的实现原理、技术优势和应用场景

VR导航通过虚拟现实技术提供沉浸式环境&#xff0c;结合室内定位技术实现精准导航。目前&#xff0c;VR导航已在多个领域展现出其独特的价值和潜力&#xff0c;预示着智能导航系统的未来发展。 一、实现原理 VR导航技术依托于虚拟现实(VR)和室内定位系统。VR技术利用计算机模…

鸿蒙ArkTS声明式开发:跨平台支持列表【透明度设置】 通用属性

透明度设置 设置组件的透明度。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版…

Python深度学习基于Tensorflow(13)目标检测实战

文章目录 RPN 整体代码RPN 具体实现过程数据标注读取标注数据固定图片大小调整目标框使用预训练模型获取 feature_shape定义 RPN 网络生成RPN 的 CLS 和 REG 数据集获取所有的锚点计算锚点与目标框的IOU 定义 RPN loss 和 训练过程 参考资料 这里实现的是二阶段目标检测&#x…

【UE5:CesiumForUnreal】——加载无高度地形数据

目录 1.实现目的 2.数据准备 2.1下载数据 2.2 数据切片 3.加载无地形数据 1.实现目的 在CesiumForUnreal插件中&#xff0c;我们加载地图和地形图层之后&#xff0c;默认都是加载的带有高程信息的地形数据&#xff0c;在实际的项目和开发中&#xff0c;有时候我们需要加载无…

双指针法 ( 快乐数 )

「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1&#xff0c;那么这个数就是快乐数 编写一个算法来判断一个…

buuctf的RSA(五)

[RoarCTF2019]RSA 一看到题目&#xff0c;我就有些蒙了&#xff0c;A是代表了什么&#xff0c; 先来分解n 接下来可以暴力破解e了&#xff0c;因为e没有给出来&#xff0c;应该不会太大&#xff0c;猜测是四位数字 import gmpy2 import libnum from Crypto.Util.number import…

Spring Boot 项目中使用 JSP

文章目录 Spring Boot 项目中使用 JSP项目结构引入依赖包编写页面和后台运行方式一&#xff1a;Maven 命令运行方式二&#xff1a;在 IDEA 中运行方式三&#xff1a;打 war 包部署运行 Spring Boot 项目中使用 JSP 在 Spring Boot 项目中不是不可以使用 JSP 。想在 Spring Boo…

科普健康短视频:成都鼎茂宏升文化传媒公司

科普健康短视频&#xff1a;引领健康知识新潮流 在数字化时代的浪潮中&#xff0c;短视频以其短小精悍、直观易懂的特点&#xff0c;迅速成为大众获取信息的重要渠道。其中&#xff0c;科普健康短视频更是凭借其科学、权威、实用的内容&#xff0c;吸引了大量关注健康的观众。…

linux下使用cmake-gui编译WXQT

一.编译环境 操作系统&#xff1a;Ubuntu 22.04.3 LTS wxWidgets源码&#xff1a;wxWidgets-3.1.5 编译工具&#xff1a;CMake-gui qt版本&#xff1a;5.13.2 二.编译步骤 1.将源码解压。 2.打开CMake-gui&#xff0c;并设置好源码目录和构建目录 3.点击configure 会弹出…

Jenkins常用插件与应用详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Jenkins是一个平台我们通过安装插件来解决我们想要完成的任务 1、Jenkins常用插件 Allure&#…

springboot+vue 社区养老服务系统

Springbootvue社区居家养老服务系统&#xff0c;数据库mysql&#xff0c;mybatis框架&#xff0c;有可视化页面。 功能&#xff1a; 用户管理 养老服务管理 护理人员管理 服务类型管理 健康状况管理 社区管理 服务区管理 娱乐资讯管理 咨询分类管理 反馈建议 系统简历管理 轮播…

Linux - 磁盘管理1

1.磁盘的分区 1.1 磁盘的类型&#xff08;标签&#xff09; MBR&#xff1a; ① 最大支持2T以内的硬盘 ② 有主分区p 拓展分区e 逻辑分区l之分 > 主分区编号1-4&#xff0c;主分区可以格式化使用 拓展分区编号1-4&#xff0c;拓展分区不能格式化 拓展分区最多能有1个&…