5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Brainf*ckコード メモ

Last updated at Posted at 2019-02-25

#はじめに
この記事は、僕が2018年の夏から秋にかけてBrainf*ck言語にハマっていた頃に書いたソースコードを載せたものです。
大したものは、作っていないですが何かの役に立てれば幸いです。
#自己紹介

自己紹介
++++[>++++<-]>[<++++>-]++++[<++++>-]<--.-----.------.++.>++++[>++++<-]>[<++>-]<.>>++++[<<<---->>>-]<<<---.>.>++++[<<++++++++>>-]
<<-----.>>++[<<---->>-]<<.>.>>++++[<<<---->>>-]<<<---.>.<+++>>++++[>++++<-]>[<<<++>>>-]<<<.>+..[-]<[-]

これは、僕のTwitterのトプ画にあるソースコードです。
実行すると、「NICE 2 ME 2 U!!」と出力されます。
#フィボナッチ数列

Brainfuck
++++[>++<-]>[>++++++>++++++>++++++<<<-]>>
.
>+
.
[
[<+>>+<-]
<<
[<+>>-<-]
>.
[>+<-]
>>
[<<+>>-]
<<<<
[>+<-]
>>>
]

フィボナッチ数列を出力するプログラムです。
(ですが、桁上がりが対応できてないので、8が最大でその後は…)
#足し算(1桁+1桁)

Brainfuck
++++[>++<-]>[>++++++<-]>>
>,
>,
<<+>>[<<+>>-]<<-
>
[-<+>]<<
[>-<-]
>.

足し算をするプログラムです。
こちらも、桁上がりには対応出来ていませんが…
#引き算(1桁-1桁)

Brainfuck
++++[>++<-]>[>++++++<-]>>
>>,
<,
<+>>[<<+>>-]<<-
>
[-<->]<<
[>+<-]
>.

引き算をするプログラムです。
ただ、符号対応が出来てなかったりします。
#掛け算(1桁×1桁)

Brainfuck
++++[>++<-]>[>++++++>>>>>++++++<<<<<<-]>>
>,
>>,
>
[<-<<->>>-]
<
[
<<
[<+>>+<-]
>
[<+>-]
>-
]
<<<<
[>+<-]
>.

掛け算をするプログラムです。
これも、桁上がりには対応してないです。
#割り算(1桁÷1桁)

Brainfuck
++++[>++<-]>[>++++++>>>>>++++++<<<<<<-]>>
>,
>>,
>
[<-<<->>>-]
<<<
[
<+
>>>
[<<->+>-]
<
[>+<-]
<
]
<<
[>+<-]
>.

割り算をするプログラムです。
ただ、小数に対応してないです。
#論理演算OR

Brainfuck
++++[>++<-]>[>++++++<-]
>>
,[>+<-]
<[>+>-<<-]
,[>>+<<-]
>[>->+<<-]
>[<+>[-]]
>[<<+>>-]
<<.

論理演算のORのプログラムです。
入力2つに対して、どちらも0だった場合のみ0を出力します。
#論理演算AND

Brainfuck
++++[>++<-]>[>++++++<-]
>>,
<[>->+<<-]
>
[,
>[<-<+>>-]
<[<+>[-]]
<[>>+<<-]
>
]
>[<<+>>-]
<<.

論理演算のANDのプログラムです。
入力2つに対して、どちらも同じ入力だった場合に1を出力します。
#論理演算NOT

Brainfuck
>>++[>++++<-]>[<++++++<++++++<++++++>>>-]
<<+<->>
>>,
<<[>+>-<<-]
>>[<<+>>[-]]
<<
[<<[>>+<<-]>>.>[-]<[-]]
>[+[<+>-]<.>]

論理演算のNOTのプログラムです。
入力1つに対し、0だった場合に1を、それ以外は0を出力します。
#LOOP(qが入力されるまで)

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

ループのプログラムです。
入力がqでなかった場合、ループします。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?