作者buffalobill (水牛比尔)
看板puzzle
标题[问题] 暂存器指令
时间Fri Oct 30 15:56:53 2020
puzzleUp风味题 Vol.18
等待真puzzleUp出题中
【暂存器指令】
你有一个CPU
具有两个暂存器R1,R2,初始值为1,2
该CPU有三种指令:
op A: 令R1的值为R1+R2,同时令R2的值为R1-R2(取绝对值)
op B: 若R1的值为偶数,则令其为R1/2,否则,令其为R1*3+1
op C: 将R1与R2的值互换
你要用最简短的指令使R1成为99
问该指令为?
例:若要使R1成为39,指令为ABACBA
OP R1 R2
1 2
A 3 1
B 10 1
A 11 9
C 9 11
B 28 11
A 39 17
写了一个模拟器,欢迎大家使用
https://buffalobill.idv.tw/Public/Misc/registerOp/
感觉只要调整指令跟暂存器数目
题目可以千变万化~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.148.121 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/puzzle/M.1604044615.A.1BE.html
※ 编辑: buffalobill (60.251.148.121 台湾), 10/30/2020 15:58:10
1F:推 LPH66: 不管怎样先凑一组出来: ACBBCBBACBCBBBBACBBBBCBA 10/31 15:03
2F:推 LPH66: .....可恶, 程式跑出结果来之後才发现盲点 XD 10/31 15:25
3F:→ LPH66: 不过果然这条路线是对的, 很多中间过程都很恰巧是要的型式 10/31 15:27
4F:→ LPH66: 就先不破梗给其他人挑战好了 10/31 15:27
5F:→ EIORU: 不小心的 ABABABBBBAABBA 11/02 12:39
6F:→ EIORU: BACBABABA 99/65 11/02 13:07
7F:→ buffalobill: BACBABABA 正解 11/02 15:24
8F:→ buffalobill: 不用C的话最短是ABABABBBBBBBA跟ABABBBBBBBABA 11/02 15:27
9F:推 DreamYeh: 这题好棒! 11/03 00:13
10F:→ LPH66: 是说, 因为 CA = A 和 CC = nop, C 後面只有 B 有意义 11/03 04:36
11F:→ LPH66: 所以是可以利用 B 和 CB 只有作用参数不同来凑 11/03 04:37
12F:→ LPH66: 那我的盲点就是选的起始组没注意到是可以 BABA 结尾的 XD 11/03 04:38