首页资讯科技 一道奥赛Python题的四种解法

一道奥赛Python题的四种解法

牟晓东请用1-6六个数字组成一个六位数abcdef.其中不同的字母代表1-6中不同的数字,要求:ab是2的倍数.abc是3的倍数.abcd能被4整除.abcde能被5整除.abcdef是6的倍数请问:这样的六位数有几个?各是多少?解法1:借…

牟东

请用1到6的六个数字组成一个六位数abcdef。从1到6,不同的字母代表不同的数字。要求ab是2的倍数。abc是3的倍数。abcd能被4整除。abcde能被5整除。abcdef是6的倍数。

请问:这样的六位数有多少?每个多少钱?

1.解法:借助细绳求解。

用字符串法多表求解。首先建立第一个空 list my _ listl: "my _ listl = "并构造循环" for l in range(123456,654321):"控制遍历从最小数123456到最大数654321。同时根据问题的含义进行第一次数据过滤:“如果int (I

(I//1000)% 3 = = 0和int (11100)% 4 = = 0和int (I//10)% 5 = = 0和Andi% 6 = = 0”,即分别从数中取出高二位ab和高三位abc……...2、3等。是可以分割和判断的,”

然后构建第二个空列表my_list2,遍历刚刚通过构建循环“for words in my_listl:”得到的列表my_listl。第二次数据过滤的条件是“如果' 0 '不在文字中,7 '不在文字中,8 '不在文字中,9 '不在文字中”,即删除包含非“123456”字符(0,7,8,9)的“非法”数据,符合要求的数据再次通过append。

然后构建第三个空链表my_list3,遍历链表my_list2: "for words in my_list2:",将每个数据依次保存在集合my_set中:" my_set= set "

此时,存储在列表my_list3中的数据是合格数据,但其类型是字符串而不是实整数数据。于是建立了第四个链表my_list4,链表my_list3被“my _ list3中的单词:”遍历,所有数据被int()函数转换成整数数据,然后添加到链表my _ list 4:“my _ list 4”

最后用print()语句输出结果:“print('这样的六位数有,len( my_list4),' number,'它们是:,my_list4)”。

运行程序以获得最终的操作结果:

“这样的六位数有2个,它们是:[123654,321654]"

本文来自网络,不代表管理窝立场。转载请注明出处: https://www.guanliwo.com/a/zx/26636.html
上一篇基于视觉学习的垃圾分类助手
下一篇 夏季甄选!岩浆熔化特效教学
管理窝

作者: 管理窝

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部