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/
感覺只要調整指令跟暫存器數目
題目可以千變萬化~
作者:
LPH66 (-6.2598534e+18f)
2020-10-31 15:03:00不管怎樣先湊一組出來: ACBBCBBACBCBBBBACBBBBCBA.....可惡, 程式跑出結果來之後才發現盲點 XD不過果然這條路線是對的, 很多中間過程都很恰巧是要的型式就先不破梗給其他人挑戰好了
作者:
EIORU 2020-11-02 12:39:00不小心的 ABABABBBBAABBABACBABABA 99/65
BACBABABA 正解不用C的話最短是ABABABBBBBBBA跟ABABBBBBBBABA
作者:
LPH66 (-6.2598534e+18f)
2020-11-03 04:36:00是說, 因為 CA = A 和 CC = nop, C 後面只有 B 有意義所以是可以利用 B 和 CB 只有作用參數不同來湊那我的盲點就是選的起始組沒注意到是可以 BABA 結尾的 XD