作者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/m.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