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
]

参考・リンクなど

kachikachi.net/brainfuck