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