文档章节

CTF编程题-三羊献瑞(实验吧)解题随记

o
 osc_w9s1w4o0
发布于 2019/03/29 09:06
字数 639
阅读 7
收藏 0
def

精选30+云产品,助力企业轻松上云!>>>

题目如下。解题步骤参考的是https://cloud.tencent.com/developer/news/373865中作者的思路。

1.首先,两个四位数相加等于一个五位数,那么这个五位数的第一位必定是1,也就是“三”=1,。

2.继续分析“祥”+“三”,若是“祥”(8),“三”为1,那么低位必定有进位(才能结果为五位数);若是“祥”(9),假如低位没有进位,则也满足条件,而低位有进位那么“羊”为1,这就不符合题目要求(“三”=1,不同的汉字代表不同的数字)。所以总结下来,“祥”可能为9或8,满足所有条件的情况下,“羊”必定为0。

3.接下来可以看到“瑞”+“羊”并没有等于“瑞”,而是等于另外一个数字“生”。因为“羊”=0,“瑞”在2~9范围内,两者相加只可能等于“瑞”,而此处不是,则低位必然有进位。接下来可以知道“瑞”+“羊”+1不可能等于10,即“生”=0(与“羊”=0冲突)。那么“瑞”+“羊”并没有加进位,结合上一步的分析【若是“祥”(9),假如低位没有进位,则也满足条件】得知“祥”=9。

4.“生”-“瑞”=1,“生”最大为7,因为9被“祥”占用。那么“生”最小为3。

综上,瑞(2~7),生(3~8),“辉”、“献”、“气”的范围均为2~8。

接下来就是编程了,代码同样也是参考作者的。

 1 #encoding:utf-8
 2 #     祥9 瑞d[2] 生d[1] 辉d[0]
 3 #  +  三1 羊0    献d[4] 瑞d[2]
 4 #------------------------------
 5 # 三1 羊0 生d[1] 瑞d[2] 气d[3]
 6 import random
 7 #随机0-9的数组
 8 def shuzu():
 9     b1 = []
10     while True:
11         j=random.randint(2,8) 
12         if j not in b1:
13             b1.append(j)
14         if(b1.__len__()==5):
15             break
16     return b1
17 #
18 def shuzu1():
19     while True:
20         b2=shuzu()
21 #"生"-"瑞"=1,瑞(2-7),生(3-8)
22         if(b2[1]-b2[2]==1 and b2[1]!=2 and b2[2]!=8):
23             break
24     print(b2)
25     return b2
26 while True:
27 #d生成随机的数组
28         d=shuzu1()
29 # 祥c 瑞d[2] 生d[1] 辉d[0]
30         xrsh=9000+d[2]*100+d[1]*10+d[0]
31 #三a 羊b 献d[4] 瑞d[2]
32         syxr=1000+d[4]*10+d[2]
33 #三a 羊b生d[1] 瑞d[2] 气d[3]
34         sxsrq=10000+d[1]*100+d[2]*10+d[3]
35 #如果等式成立,就终止循环,输出数字
36         if(sxsrq==xrsh+syxr):
37             print("________________")
38             print("  祥瑞生辉:",xrsh)
39             print("+ 三羊献瑞:",syxr)
40             print("三羊生瑞气:",sxsrq)
41             break

代码运行时间也是随机的。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
2015年第六届蓝桥杯JavaB组省赛试题解析

题目及解析如下: 题目大致介绍: 第一题到第三题以及第六题、第七题是结果填空,方法不限只要得到最后结果就行 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功 第八题到第十题...

osc_t2w0zvsf
2019/04/28
2
0
三羊献瑞——第六届蓝桥杯C语言B组(省赛)第三题

原创 三羊献瑞 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看【图1.jpg】) 其中,相同的汉字代表相同的数字,不同的汉字代...

osc_ngi4bcdo
2018/06/08
3
0
蓝桥杯刷题 -- 第六届蓝桥杯

题头:本内容所有题面都来自博客:https://blog.csdn.net/ryo_218/article/details/79704030在此感谢! 1,奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。...

osc_c0j5n5bj
2019/03/01
2
0
蓝桥杯三羊献瑞题目

今天开始做了做蓝桥杯的题目,题目是三羊献瑞,这道题目开始做,一点思路都没有,但是硬着头皮写下去,用循环暴力求,java都运行了好久,好几10秒,所以在蓝桥杯上估计是超时了。运行出了几个...

osc_h5427nyq
2018/03/01
0
0
【刷题第二天】dfs算法例题——java

【例一】: 今有 7 对数字:两个 1,两个 2,两个 3,...两个 7,把它们排成一行。 要求,两个 1 间有 1 个其它数字,两个 2 间有 2 个其它数字,以此类推,两个 7 之间有 7 个其它数字。如下...

osc_bc7dotjc
2019/11/27
2
0

没有更多内容

加载失败,请刷新页面

加载更多

Hacker News 简讯 2020-07-10

更新时间: 2020-07-10 01:15 US Supreme Court deems half of Oklahoma a Native American Reservation - (reuters.com) 美国最高法院认为俄克拉荷马州的一半是印第安人保留地 得分:131 | 评...

FalconChen
44分钟前
16
0
OSChina 周五乱弹 —— 求求你吃了我吧,不要再玩弄食物的感情了

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @巴拉迪维 :张喆的单曲《陷阱 》 这首歌已经在网易找不到原唱了,不知道被哪家买了版权。#今日歌曲推荐# 《陷阱 》- 张喆 手机党少年们想听歌...

小小编辑
55分钟前
24
1
清华陈文光教授:AI 超算基准测试的最新探索和实践。

道翰天琼认知智能平台为您揭秘新一代人工智能。 无规矩不成方圆。放在超级计算机的研发领域,没有一个大家普遍接受的算力评测指标,便难以推动超算迅猛发展。 而现在伴随着人工智能的发展,大...

jackli2020
今天
7
0
@RequestMapping, consumes 提交简单有意思的测试

getParm @GetMapping("getParm")public Result getParm(String id){ System.out.println(); return ResultFactory.success(id);} 等同于 == bodyParm @PostMapping("bodyParm......

莫库什勒
今天
25
0
63. Unique Paths II

题目: 63. Unique Paths II A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The robot can only move either down or right at any p......

JiaMing
今天
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部