奇怪的比赛,三羊献瑞(python)
文章目录
- 奇怪的比赛
- 分析
- 运行代码
- 答案
- 三羊献瑞
- 分析
- 运行代码
- 通过截图
奇怪的比赛
题目描述
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。每位选手的起步分都是10分,某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,则10个题目的回答情况可用仅含1和0的串来表示,如0010110011就是可能的情况。
你的任务是算出所有可能情况,每个答案占一行。
分析

- 写10重循环太麻烦了,这里肯定可以用递归来做。
终止条件超出11层以及找到结果- 类似二叉树的先序遍历(先左子树,后右子树),先递归答对,后递归答错
运行代码
res = [i for i in range(11)]def dfs(score,i):if i == 11 and score == 100:for j in range(1,11):print(res[j],end ="")print()returnif i >= 11:return# 答对res[i] = 1dfs(score*2,i+1)# 答错res[i] = 0dfs(score-i,i+1)dfs(10,1)
答案

三羊献瑞
观察下面的加法算式:祥 瑞 生 辉+ 三 羊 献 瑞
-------------------三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
分析
- 首先推测,三绝对是1,其他的利用全排列解就可以了
运行代码
'''祥 瑞 生 辉+ 三 羊 献 瑞
-------------------三 羊 生 瑞 气三必定为1
'''from itertools import permutations
l= ['0','2','3','4','5','6','7','8','9'] # 分别代表羊0 献1 瑞2 生3 辉4 祥5 气6
for nums in permutations(l,7):if int(nums[5]+nums[2]+nums[3]+nums[4])+int('1'+nums[0]+nums[1]+nums[2]) == int('1'+nums[0]+nums[3]+nums[2]+nums[6]):print(int('1'+nums[0]+nums[1]+nums[2]))break
通过截图

如有错误,敬请指正,欢迎交流,谢谢♪(・ω・)ノ
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
