Let’s enjoy brainfuck. ~割り算編~
コード紹介
今回はbrainfuckで割り算をするプログラムの紹介をしたいと思います。
↓割り算をするコード
,>++++++[<-------->-]>>>,>++++++[<-------->-]>,>++++++[<-------->-]<[<[-]<<<<<[>>>>[<<<+>->+>-]<[>+<-]>>+<<<<[<[->>+>]>>>[<<<]<<-]<]>>[>>[<<+>+>-]<[>+<-]>>-<<]>[<]<[<<++++++++++>>-]>>>>>++++++[<<++++++++>>-]<<.>-]
入力は、
- 割られる数
- 割る数
- 出力する桁数
です。
私は、実行環境を作るのが面倒なため、こちらのサイトを使っています。
やっていること
,>++++++[<-------->-]>>>,>++++++[<-------->-]>,>++++++[<-------->-] <[ <[-] <<<<<[ >>>>[<<<+>->+>-] <[>+<-] >>+ <<<<[<[->>+>]>>>[<<<]<<-] < ] >>[>>[<<+>+>-]<[>+<-]>>-<<]>[<] <[<<++++++++++>>-] >>>>>++++++[<<++++++++>>-]<<. >- ]
ポインタの左から順に ABCDEFG としています。
input G[ Fのリセット A[ EをBと-Cにコピー F+=1 A-Bをする、うまく引けた場合C+=1 ] C[ F-=1 C+=E ]Dで終了 Cの10倍をAに代入 Fのprint G-=1 ]
参考・リンクなど