5

誰かがプログラミング言語brainf*ckで2つの1桁の数を掛けるコードを投稿できますか?

4

7 に答える 7

9
,>,< input numbers at cell #1 #2
[
 > go to cell #2
 [
   ->+>+<< move data to cell #3 #4
 ]
 >> go to cell #4
 [
  -<<+>> move data to cell #2
 ]
 <<< go to cell #1
 - decrement cell #1
]
>>. output cell #3

プログラムがセル #1、#2 に読み込まれ、結果がセル #3 に表示されます

数値を数値として入力できるBFインタープリターを使用します(ASCIIシンボルではありません)

于 2011-04-09T20:32:26.220 に答える
6

まあ、私はそれを回避する最も効率的な方法を持っていないかもしれませんが、うまくいきます。これらすべてで機能するように、特定の方法で物事を行いました

2*3=6

6*7=42

4*5=20

だから、ここにあります:

read 
>, >, <<

convert from ascii
+++++ +
[
 >----- ---
 >----- ---
 <<-
]

multiply
>[
 >[>+>+<<-]
 >[<+>-]
 <<-
]

separate numbers
>[-]>+> >+++++ +++++<
[
 - >- [>>>]+++++ +++++<<+
 [<<<]>>>>
]
<-
<+++++ +++++>>>[-<<<->>>]<<<


convert to ascii
<+++++ +
[
 >+++++ +++>
 [+++++ +++>]
 <[<]>-
]

print
>>[.<<]<[<<]>>.

私はこのインタプリタを使用しました: http://esoteric.sange.fi/brainfuck/impl/interp/i.html

于 2014-11-03T05:27:49.583 に答える
2

さて、私は最初のものに触発されて、それをもっとシンプルにしました:

,>,<>[->+>+<<]>>[->>+<<]<[->>>+<<<]>>>++++++++++++++++++++++++++++++++++++++++++++++++

最後の 48+ は、bfdev がそれを ascii で表示するためのものです。

于 2012-11-28T23:23:06.617 に答える
1
,>,<[>[>+>+<<-]>>[<<+>>-]<<<-]>>.
于 2011-12-29T15:15:34.147 に答える
0

ちょっとわかりにくいですが、うまくいきます

>[>>>+<<<-]>>>[>+>+<<-]>>[<<+>>-]<<<<<<[>+>+>+<<<-]>>>[<<<+>>>-]>>[-<<<[-<<+>>]<[>+>+<<-]>>[<<+>>-]<<>>>>]<[-]<<[-]<[-]<
于 2015-05-28T04:12:15.483 に答える