0
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?

brainfuck チートコード表 #1 数字を出すものを最適化

Posted at

brainfuckの数字のチートコードです。

256が0、-1は255になること
ポインタ+1の場所が0なこと
を前提に作っていきます。

需要あればカンストしないタイプのやつも作ると思います。

チートシート

num(16) num(10) code
0 0
1 1 +
2 2 ++
3 3 +++
4 4 ++++
5 5 +++++
6 6 ++++++
7 7 +++++++
8 8 ++++++++
9 9 +++++++++
A 10 ++++++++++
B 11 +++++++++++
C 12 ++++++++++++
D 13 +++++++++++++
E 14 ++++++++++++++
F 15 +++++++++++++++
10 16 >++++[<++++>-]<
11 17 >++++[<++++>-]<+
12 18 >+++[<++++++>-]<
13 19 >+++[<++++++>-]<+
14 20 >++++[<+++++>-]<
15 21 >+++[<+++++++>-]<
16 22 >+++[<+++++++>-]<+
17 23 >++++[<++++++>-]<-
18 24 >++++[<++++++>-]<
19 25 >+++++[<+++++>-]<
1A 26 >+++++[<+++++>-]<+
1B 27 >+++[<+++++++++>-]<
1C 28 >++++[<+++++++>-]<
1D 29 >++++[<+++++++>-]<+
1E 30 >+++++[<++++++>-]<
1F 31 >+++++[<++++++>-]<+
20 32 >++++[<++++++++>-]<
21 33 >++++[<++++++++>-]<+
22 34 >+++++[<+++++++>-]<-
23 35 >+++++[<+++++++>-]<
24 36 >++++++[<++++++>-]<
25 37 >++++++[<++++++>-]<+
26 38 >++++++[<++++++>-]<++
27 39 >+++++[<++++++++>-]<-
28 40 >+++++[<++++++++>-]<
29 41 >+++++[<++++++++>-]<+
2A 42 >++++++[<+++++++>-]<
2B 43 >++++++[<+++++++>-]<+
2C 44 >++++[<+++++++++++>-]<
2D 45 >+++++[<+++++++++>-]<
2E 46 >+++++[<+++++++++>-]<+
2F 47 >++++++[<++++++++>-]<-
30 48 >++++++[<++++++++>-]<
31 49 >+++++++[<+++++++>-]<
32 50 >+++++[<++++++++++>-]<
33 51 >+++++[<++++++++++>-]<+
34 52 >++++[<+++++++++++++>-]<
35 53 >++++++[<+++++++++>-]<-
36 54 >++++++[<+++++++++>-]<
37 55 >+++++[<+++++++++++>-]<
38 56 >+++++++[<++++++++>-]<
39 57 >+++++++[<++++++++>-]<+
3A 58 >+++++++[<++++++++>-]<++
3B 59 >++++++[<++++++++++>-]<-
3C 60 >++++++[<++++++++++>-]<
3D 61 >++++++[<++++++++++>-]<+
3E 62 >+++++++[<+++++++++>-]<-
3F 63 >+++++++[<+++++++++>-]<
40 64 >++++++++[<++++++++>-]<
41 65 >++++++++[<++++++++>-]<+
42 66 >++++++[<+++++++++++>-]<
43 67 >++++++[<+++++++++++>-]<+
44 68 >++++++[<+++++++++++>-]<++
45 69 >+++++++[<++++++++++>-]<-
46 70 >+++++++[<++++++++++>-]<
47 71 >+++++++[<++++++++++>-]<+
48 72 >++++++++[<+++++++++>-]<
49 73 >++++++++[<+++++++++>-]<+
4A 74 >+++++[<+++++++++++++>-]<-
4B 75 >+++++[<+++++++++++++>-]<
4C 76 >+++++[<+++++++++++++>-]<+
4D 77 >+++++++[<+++++++++++>-]<
4E 78 >++++++[<+++++++++++++>-]<
4F 79 >++++++++[<++++++++++>-]<-
50 80 >++++++++[<++++++++++>-]<
51 81 >+++++++++[<+++++++++>-]<
52 82 >+++++++++[<+++++++++>-]<+
53 83 >+++++++[<++++++++++++>-]<-
54 84 >+++++++[<++++++++++++>-]<
55 85 >+++++++[<++++++++++++>-]<+
56 86 >+++++++[<++++++++++++>-]<++
57 87 >++++++++[<+++++++++++>-]<-
58 88 >++++++++[<+++++++++++>-]<
59 89 >++++++++[<+++++++++++>-]<+
5A 90 >+++++++++[<++++++++++>-]<
5B 91 >+++++++[<+++++++++++++>-]<
5C 92 >+++++++[<+++++++++++++>-]<+
5D 93 >+++++++[<+++++++++++++>-]<++
5E 94 >++++++++[<++++++++++++>-]<--
5F 95 >++++++++[<++++++++++++>-]<-
60 96 >++++++++[<++++++++++++>-]<
61 97 >++++++++[<++++++++++++>-]<+
62 98 >+++++++[<++++++++++++++>-]<
63 99 >+++++++++[<+++++++++++>-]<
64 100 >++++++++++[<++++++++++>-]<
65 101 >++++++++++[<++++++++++>-]<+
66 102 >++++++++++[<++++++++++>-]<++
67 103 >++++++++[<+++++++++++++>-]<-
68 104 >++++++++[<+++++++++++++>-]<
69 105 >+++++++[<+++++++++++++++>-]<
6A 106 >+++++++[<+++++++++++++++>-]<+
6B 107 >+++++++++[<++++++++++++>-]<-
6C 108 >+++++++++[<++++++++++++>-]<
6D 109 >+++++++++[<++++++++++++>-]<+
6E 110 >++++++++++[<+++++++++++>-]<
6F 111 >++++++++++[<+++++++++++>-]<+
70 112 >>++++[<++++[<+++++++>-]>-]<<
71 113 >>++++[<++++[<+++++++>-]>-]<<+
72 114 >>++++[<++++[<+++++++>-]>-]<<++
73 115 >+++++++++[<+++++++++++++>-]<--
74 116 >+++++++++[<+++++++++++++>-]<-
75 117 >+++++++++[<+++++++++++++>-]<
76 118 >+++++++++[<+++++++++++++>-]<+
77 119 >++++++++++[<++++++++++++>-]<-
78 120 >++++++++++[<++++++++++++>-]<
79 121 >+++++++++++[<+++++++++++>-]<
7A 122 >+++++++++++[<+++++++++++>-]<+
7B 123 >+++++++++++[<+++++++++++>-]<++
7C 124 >+++++++++[<++++++++++++++>-]<--
7D 125 >+++++++++[<++++++++++++++>-]<-
7E 126 >+++++++++[<++++++++++++++>-]<
7F 127 >+++++++++[<++++++++++++++>-]<+
80 128 >+++++++++[<++++++++++++++>-]<++

129以上は、こうしてください

$m\space=\space 256\space-\space num$とします
numをmとして、上のチートシートを参考する。

3パターンに分けます。
+++... ...++++_+とあらわします。
---... ...----_-とあらわします。
任意的なものは{??}とあらわします

1.+のみのもの +_+
2.>+から始まるもの >+_+[<+_+>-]<{{+}{+},{-}{-}}
3.>>から始まるもの >>+_+[<+_+[<+_+>-]>-]<<{{+}{+},{-}{-}}

以下はこのように変換します。

1.-_-
2.>+_+[<-_->-]<{{-}{-},{+}{+}}
3.>>+_+[<+_+[<-_->-]>-]<<{{-}{-},{+}{+}}
と変換します

0にする

[-]このコードを使うとポインタの中身を0にできます。
チートコードと組み合わせて使ってください

これでbrainfuckの数値指定は完璧です!

0
0
1

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
0
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?