栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 电脑报

用Python解奥数“文字游戏”题

电脑报 更新时间: 发布时间: 学术归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Python解奥数“文字游戏”题

陈新龙

有这样一道奥数题:好事好+要做好二要做好事。请问,要做好事的值是多少?和我们用笔算更注重逻辑分析不同,编程解决这道题更多的是利用计算机运算速度快的优势,把所有可能都试一遍找到正确的解。

先考虑每个文字的范围,简单认为每个文字的值都是0-9,创建一个列表lisL1存放0-9。

分别用四个字母代替“要做好事”文字,通过循环遍历的方法提取数值然后累加判断是否能够符合题目的要求。答案为0000和1098(如图1)。

当然這种方法也是效率最低的方法,下面我们用f'm这个命令,{‘m是把整数l转换成一个字符串,:( Yld是用o补齐四位。由于“要做好事”四个字的范围在0000-9999,将个位十位百位千位分别赋值给h,s,z,v。通过函数和{‘m的方法可以大大缩短我们的代码数量,提高代码的可读性(如图2)。

这样自定义函数的方法效率也大大提高了,当然我们还可以通过引入Python内部函数来解决问题,通过位数分解加快我们的计算速度,提高解题效率。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/246780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号