网易首页 > 网易号 > 正文 申请入驻

新高考Python题:验证循环数

0
分享至

为深化素质教育,提高学生技术核心素养,浙江和广东已将编程列为高考选考科目。根据当前编程语言的趋势,浙江省在几年前将编程语言从VB更换为Python。这是一道来自浙江新高考的数学编程Python例题。

01

循环数例题

请编写Python程序,实现以下功能:若一个n位的数字串满足下述条件,则称其是循环数。将这个数字视为整数(可能带有前导 0),并用任意一个 1到 n之间(包含1和 n)的整数去乘它时,会得到一个整数列。这个整数列是将原数字串首尾相接后,再在某处断开而得到的新数字串。例如142857就是循环数,142857是个6位数,因此将142857与1~6之间任意数字相乘得到的结果都是将142857数字断开相接后的结果,是不是很神奇?那么请你思考下,当用户输入一个数字后,如何判断它是否符合循环数规则。

142857 × 1 = 142857

142857 × 2 = 285714

142857 × 3 = 428571

142857 × 4 = 571428

142857 × 5 = 714285

142857 × 6 = 857142

02

解题思路

这道题目的难点在于对结果进行判断,假设我们输入的数字是142857,那么我们需要判断两数相乘的结果在142857,428571,285714,857142,571428,714285这几个数字中。这些数字无非就是将原数字转化为字符串后重新拆分得到的结果。

这里小陈老师给大家提供一个思路,我们可以将所有的结果存储在一个list集合列表当中。这样判断数字相乘的结果是否包含在这些列表中即可,若在判断过程中发现不满足条件时,立刻结束反馈此数字不是循环数,若满足条件我们继续执行,若数字与n位相乘都满足条件反馈此数字是循环数(图1)。

03

代码编写

思路梳理完成后我们可以着手编写代码了,这里我使用了Python语言进行代码的编写,当然最重要的还是思路也可以使用其他语言来完成。

首先我们设置一个字符串用于用户自定义输入num,这里最好进行一下判断,判断用户只能输入数字,不能输入其他字符。否则后续执行过程中会报错。

然后我们新增一个list列表用于保存将输入数字串首尾相接后,再在某处断开而得到的新数字串。

根据num的长度进行循环操作,在循环的过程中我们需要对原先的字符串进行拆分拼接处理。这里是一个蛮巧妙的算法,我们先获取到循环的索引,然后根据索引的位置我们对原数字进行拆分,比如索引为1,这里我们把原数字拆分成两个部分,比如142857我们就把它拆分成1和42857两部分。然后我们对两部分进行位置的转换拼接获得428571,将结果存入到list列表中。

将所有的结果都存入到list列表后,我们可以根据数字和(1-n之间的位数)相乘进行判断,判断结果是否在列表中,若结果不在列表中直接flag=false不满足条件跳出循环,若结果在列表中则继续执行下一次,直至全部满足条件说明该数字是循环数(图2)。

题目的难度不算太大,难点在于如何将结果进行存储并验证,这里的思路和过程实现还是很巧妙的。

已知的一些循环数:

142857 (6位)

0588235294117647 (16位)

052631578947368421 (18位)

0434782608695652173913 (22位)

0344827586206896551724137931 (28位)

你可以看到除了142857以外,其他几个循环数都有前导0,因此如果要判断有前导0的循环数需要加两行代码,先将这个列表前导数0去除,然后转化字符串类型即可。
nums = [int(num.lstrip('0')) for num in list1]
# 将列表类型转化为字符串类型
str_nums = [str(num) for num in nums]

文章的最后可以给大家增加一些难度,如果想知道所有从1位数到10位数总共有多少个循环数,请全部列举出来,如何实现呢?那么其他二进制、八进制、十六进制的循环数你能求出来吗?

编辑|张毅

审核|吴新

爆料联系:cpcfan1874(微信)

壹零社:用图文、视频记录科技互联网新鲜事、电商生活、云计算、ICT领域、消费电子,商业故事。《中国知网》每周全文收录;中国科技报刊100强;2021年微博百万粉丝俱乐部成员;2022年抖音优质科技内容创作者

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
G5多少分?生死战场均得分:东契奇34.1分居首 詹姆斯压乔丹

G5多少分?生死战场均得分:东契奇34.1分居首 詹姆斯压乔丹

直播吧
2024-06-16 14:45:09
父亲头七刚过,分家产时养女自觉离开,上火车时却被哥嫂跩下来

父亲头七刚过,分家产时养女自觉离开,上火车时却被哥嫂跩下来

娱乐洞察点点
2024-06-03 16:54:38
华科紧追中科大,西交不敌武大!2024中国大学百强排行榜出炉

华科紧追中科大,西交不敌武大!2024中国大学百强排行榜出炉

水又木二
2024-06-16 11:36:01
拜仁死活不要的主帅,如今在德国队成座上宾,欧洲杯首战带队大胜

拜仁死活不要的主帅,如今在德国队成座上宾,欧洲杯首战带队大胜

罗掌柜体育
2024-06-15 15:01:11
快讯!普京下达最后通牒:泽连斯基肯撤军就立马停火

快讯!普京下达最后通牒:泽连斯基肯撤军就立马停火

笔墨V
2024-06-16 14:39:31
高考结束家长拆了放在孩子卧室6年的监控,网友:满满的窒息感,专家:培养自信更重要

高考结束家长拆了放在孩子卧室6年的监控,网友:满满的窒息感,专家:培养自信更重要

极目新闻
2024-06-14 10:52:19
强对流+高温!安徽气象台发布双预警

强对流+高温!安徽气象台发布双预警

金台资讯
2024-06-16 11:16:39
上港国脚因伤退出国家队 回中超踢满全场被质疑诈伤

上港国脚因伤退出国家队 回中超踢满全场被质疑诈伤

球事百科吖
2024-06-15 14:43:22
散学典礼校长讲话:中专生姜萍赢得全球数学竞赛前12名的3个理由

散学典礼校长讲话:中专生姜萍赢得全球数学竞赛前12名的3个理由

教育好文
2024-06-16 09:30:13
周鸿祎辟谣:小鸟壁纸不是360产品

周鸿祎辟谣:小鸟壁纸不是360产品

快科技
2024-06-15 18:18:15
闹大了,7旬老太偷菜摔成十级伤残,反要菜主赔偿8万,网友气炸了

闹大了,7旬老太偷菜摔成十级伤残,反要菜主赔偿8万,网友气炸了

金哥说新能源车
2024-06-16 02:43:00
南京杀妻案吉星鹏被判处死刑,临刑前他全身抽搐流泪不止

南京杀妻案吉星鹏被判处死刑,临刑前他全身抽搐流泪不止

一度历史观
2024-06-14 12:56:49
打死城管判死刑,被4名城管打死该咋判?湖南法院给出答案

打死城管判死刑,被4名城管打死该咋判?湖南法院给出答案

一个人讲故事
2023-12-07 18:03:33
老人存款最好的两种方法,内部人员透露,赶紧收藏起来

老人存款最好的两种方法,内部人员透露,赶紧收藏起来

户外钓鱼哥阿旱
2024-06-15 17:17:14
“他下周将赴中国,预计会激烈磋商”

“他下周将赴中国,预计会激烈磋商”

观察者网
2024-06-16 10:46:18
真相大白!原来离婚是大S设好的局,现在事态不受控,官方提醒大S

真相大白!原来离婚是大S设好的局,现在事态不受控,官方提醒大S

八卦王者
2024-06-15 21:20:26
姜萍被重点高中家长吐槽:凭啥我儿子做不到,她中专女却能做到?

姜萍被重点高中家长吐槽:凭啥我儿子做不到,她中专女却能做到?

熙熙说教
2024-06-14 17:11:08
回击李晓勇?新疆混血后卫继父:国内混子教练不承认欧美水平更高

回击李晓勇?新疆混血后卫继父:国内混子教练不承认欧美水平更高

大嘴爵爷侃球
2024-06-16 10:55:51
局势大变!中国海警突然清理仁爱礁破船,美国会出手帮菲吗?

局势大变!中国海警突然清理仁爱礁破船,美国会出手帮菲吗?

趣说世界哈
2024-06-13 11:28:23
那些在楼顶转来转去的金属“小帽子”,究竟有何作用?

那些在楼顶转来转去的金属“小帽子”,究竟有何作用?

家装设计指南
2024-06-14 12:45:03
2024-06-16 15:38:47
壹零社
壹零社
最新鲜的互联网产业资讯
2075文章数 1349关注度
往期回顾 全部

教育要闻

剑南春2024高考专题报道

头条要闻

"地铁上被诬陷偷拍"男子将直播带货:需面对现实问题

头条要闻

"地铁上被诬陷偷拍"男子将直播带货:需面对现实问题

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

科技要闻

iPhone 16会杀死大模型APP吗?

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

亲子
本地
房产
健康
时尚

亲子要闻

爸爸,我想对你说……

本地新闻

粽情一夏|海河龙舟赛,竟然成了外国人的大party!

房产要闻

万华对面!海口今年首宗超百亩宅地,重磅挂出!

晚餐不吃or吃七分饱,哪种更减肥?

40岁女人的“优雅范”穿搭,夏天学会这么搭,也能美得很轻松

无障碍浏览 进入关怀版