SPOJ的多语言确实很牛,竟然连WhiteSpace语言也支持(很早就听说过这种语言,它的代码仅仅包含空格、Tab和回车三个字符,其余字符一律不认)。今天,我在提交语言的列表里看到了另一个叫brainf**k的语言,顿时来了兴趣。
brainf**k=BrainFuck。如果哪天我发明一种语言叫“太他妈的牛逼了”,矜持一点的OJ也会称呼它“太XXX牛B语言”。这种语言符合图灵机模型,语法暴简单,通篇8种字符,一看就会:
> 指针加一
< 指针减一
+ 指针指向的字节的值加一
– 指针指向的字节的值减一
. 输出指针指向的单元内容(ASCII码)
, 输入内容到指针指向的单元(ASCII码)
[ 如果指针指向的单元值为零,向前跳转到对应的]指令的次一指令处
] 如果指针指向的单元值不为零,向回跳转到对应的[指令的次一指令处
比如,下面这段代码可以在屏幕上打印出“Hello World!”:++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
后来,我看了看SPOJ的第一题,读一串数,读什么你就输出什么,直到你读到一个数字42位置。这个题目出得比A+B Prob要好,因为几乎所有的语言都可以AC。我决定用BrainFuck把这道题过了。我仔细想了一下,主要是在想如何用这个语言来表示and运算。后来调试了一会儿,发现了几个错误,最终成功AC了。给大家看一下我的AC代码:>>,>,
< <<++++++[>>--------<<-]>>---- [>>+>]<[<]> <<++++++[>>++++++++<<-]>>++++
> <<++++++[>>--------<<-]>>-- [>+>]<[<]>> <<++++++[>>++++++++<<-]>>++ >
[<<. [-]>[-<+>],>[-]<<
<<++++++[>>--------<<-]>>---- [>>+>]<[<]> <<++++++[>>++++++++<<-]>>++++
><<++++++[>>--------<<-]>>-- [>+>]<[<]>> <<++++++[>>++++++++<<-]>>++ >]
后来我看到了SPOJ论坛上的一个标程,虽然标程比我的代码长得多,但也漂亮的多。+[>>----------
[++++++++++<,----------]
>--------------------------------------------------
>----------------------------------------------------
>
[
<++++++++++++++++++++++++++++++++++++++++++++++++++++
<++++++++++++++++++++++++++++++++++++++++++++++++++
[>]<
[.<]++++++++++.---------->
[>]>>
]<
[++++++++++++++++++++++++++++++++++++++++++++++++++++
<++++++++++++++++++++++++++++++++++++++++++++++++++
[>]<
[.<]++++++++++.---------->
[>]>
]<
[>++++++++++++++++++++++++++++++++++++++++++++++++++++
<++++++++++++++++++++++++++++++++++++++++++++++++++
[>]<
[.<]++++++++++.---------->
[>]
]<
]
任何一个领域里总是有牛人出现。我在网上看到,居然还有BrainFuck编程比赛。比如,有一次比赛题目叫大家用BrainFuck语言编写3x+1问题。输入一串数,你需要编程求出这些数按照3x+1变换规则进入循环各自需要多少步。标程短得惊人:>,[
[
----------[
>>>[>>>>]+[[-]+<[->>>>++>>>>+[>>>>]++[->+<<<<<]]<<<]
++++++[>------<-]>--[>>[->>>>]+>+[<<<<]>-],<
]>
]>>>++>+>>[
<<[>>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<<]]<[>+<-]>]
>[>[>>>>]+[[-]<[+[->>>>]>+<]>[<+>[<<<<]]+<<<<]>>>[->>>>]+>+[<<<<]]
>[[>+>>[<<<<+>>>>-]>]<<<<[-]>[-<<<<]]>>>>>>>
]>>+[[-]++++++>>>>]<<<<[[<++++++++>-]<.[-]<[-]<[-]<]<,
]
这种语言语法之简单,还产生出很多有意思的东西。比如,你可以想到用c语言或者pascal语言完全可以编写一个不到50行的BrainFuck编译器。还有,我们也可以用BrainFuck语言来写一个BrainFuck的编译器。事实上,有人真的也写出来了,我也看到代码了。太牛B了。
做人要厚道
转贴请注明出处
无聊。
回复:和您的软件工程学比起来是不是更无聊? :)
下次写WhiteSpace来和你的“OI中的软件工程学之二”比
哈哈。那就比……比谁更无聊。
两位刷新了我对无聊的新定义。。。:L
回复:我是真的很无聊
IF 语句怎么弄啊?
回复:把条件先变为某位置不为0的形式,执行语句放在[]里,语句执行后记得要把那个位置清零。
>+++[-<++++++++++>]<++………………..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<…………………….>+[-<———->]<———.—.>++[-<++++++++++>]<++…………..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<…..>++++[-<++++++++++>]<..>+++[-<———->]<—–.—–……………………>+[-<———->]<———.—.>++[-<++++++++++>]<++………….>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++[-<———->]<——-.>++[-<++++++++++>]<+++++++.>+++[-<———->]<—–.—–..+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-..+++.—…………………..>+[-<———->]<———.—.>++[-<++++++++++>]<++………….>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++[-<———->]<——-.>+[-<———->]<—.>+[-<++++++++++>]<+++.>++[-<++++++++++>]<+++++++.>+[-<———->]<–
第一页
-.>+[-<———->]<—-.>+[-<———->]<.—..>++++[-<++++++++++>]<.>++[-<———->]<——-.>+[-<———->]<—………………….>+[-<———->]<———.—.>++[-<++++++++++>]<++………….>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<..+++++.>+++[-<++++++++++>]<+++++.>++++[-<———->]<.>++++[-<++++++++++>]<.>+[-<———->]<—.>++[-<———->]<——-.+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-………………….>+[-<———->]<———.—.>++[-<++++++++++>]<++…………..>++++++[-<++++++++++>]<+++.——-.+++++++..>+[-<++++++++++>]<.>+[-<++++++++++>]<+++++…>++++[-<———->]<——–.>++++[-<++++++++++>]<++++++++..>+[-<———->]<—–.>+[-<++++++++++>]<+++++.>+[-<———->]<—–..>+++[-<———->]<—..>++++[-<++++++++++>]<++++++++.>++++[-<———->]<——–.>+[-<———->]<—.>++[-<———-
第二页
>]<——-………….>+[-<———->]<———.—.>++[-<++++++++++>]<++……………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>+[-<———->]<—.>++[-<———->]<——-…………….+++++.–.—………..>+[-<———->]<———.—.>++[-<++++++++++>]<++……………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<………………>+[-<++++++++++>]<+++.>+[-<———->]<.>++[-<++++++++++>]<++++.>++[-<———->]<——-………>+[-<———->]<———.—.>++[-<++++++++++>]<++………….>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<..+++.—……………….>++[-<++++++++++>]<+++++++.>+[-<++++++++++>]<+++.>++[-<———->]<——-.>+[-<———->]<—…….>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]
第三页
<..+++++..—–…………………>++++[-<++++++++++>]<.>++[-<———->]<——-.>+[-<———->]<—……>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<..>++++[-<++++++++++>]<.>+[-<———->]<—.>+[-<———->]<—-.>+[-<———->]<—…>++[-<++++++++++>]<+++++++++……..>++[-<———->]<———….>++[-<++++++++++>]<+++++++++…>++[-<———->]<———..>++[-<++++++++++>]<+++++++.>+[-<++++++++++>]<+++.>++++[-<———->]<……>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<.>+[-<++++++++++>]<+++.>+[-<———->]<.—.+++.—…………………+++.—……>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<——-
第四页
—>]<..+++++..>++[-<++++++++++>]<++.>++[-<———->]<——-…………………+++.—……>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<…………………….>+[-<++++++++++>]<+++.>++[-<++++++++++>]<+++++++.>++++[-<———->]<……>+[-<———->]<———.—.>++[-<++++++++++>]<++…………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>+[-<———->]<—.>++[-<———->]<——-……………………+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-……>+[-<———->]<———.—.>++[-<++++++++++>]<++………..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>+[-<———->]<—..>+[-<++++++++++>]<+++.>++++[-<———->]<………………….>++++[-<++++++++++>]<..>++++[-<———->]<…….>+[-<———->]<———.—.>++[-<++++++++++>]
第五页
<++………>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<….>+[-<++++++++++>]<+++.>++[-<++++++++++>]<+++++++..>+[-<———->]<—.>++[-<———->]<——-…………….>+[-<++++++++++>]<+++.>++[-<++++++++++>]<+++++++.>+++[-<———->]<——-.>+[-<++++++++++>]<.>+[-<———->]<—……..>+[-<———->]<———.—.>++[-<++++++++++>]<++……..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>+[-<———->]<—.>++[-<———->]<——-……>++[-<++++++++++>]<+++++++.>++[-<———->]<—-.>+++[-<++++++++++>]<+++++++.>+[-<———->]<—.>+[-<———->]<—-.>+[-<———->]<—……….>+[-<++++++++++>]<+++.——–.>+++[-<++++++++++>]<+++++..>+++[-<———->]<—–.—–……….>+[-<———->]<———.—.>++[-<++++++++++>]<++…….>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<..>++++[-<++++++++++>]<.>++[-<-
第六页
———>]<——-..>++[-<++++++++++>]<+++++++.>++++[-<———->]<……..>+[-<++++++++++>]<+++..>+[-<++++++++++>]<++++.>+[-<++++++++++>]<+++.>+[-<———->]<—.>+[-<———->]<—-..>+[-<++++++++++>]<++++.>++[-<———->]<——-…………….>+[-<———->]<———.—.>++[-<++++++++++>]<++……>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++[-<———->]<——-.>+[-<———->]<—..>++++[-<++++++++++>]<.>++[-<———->]<——-.>+[-<———->]<—.+++.—……….>+[-<++++++++++>]<+++.>++[-<++++++++++>]<+++++++.>++++[-<———->]<………………..>+[-<———->]<———.—.>++[-<++++++++++>]<++……>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<…+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-.>++++[-<++++++++++>]<.>++[-<———->]<——-.>+[-<———->]<—…….>+[-<++++++++++>]<+++.——–.++++++++.>++[-
第七页
<++++++++++>]<+++++++.>++++[-<———->]<………………..>+[-<———->]<———.—.>++[-<++++++++++>]<++…..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<….>+[-<++++++++++>]<+++.>+[-<———->]<.>+[-<++++++++++>]<.>+[-<———->]<—.+++.>+[-<++++++++++>]<.>+[-<———->]<—…..>+[-<++++++++++>]<+++.>+[-<———->]<.—.+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-………………..>+[-<———->]<———.—.>++[-<++++++++++>]<++…..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>++++[-<———->]<…..>+[-<++++++++++>]<+++.>+[-<———->]<.>+[-<++++++++++>]<.>+[-<———->]<—.>++++[-<++++++++++>]<.>+[-<———->]<—.>++[-<———->]<——-….+++++.>++[-<++++++++++>]<++.>++[-<———->]<——-.>++[-<++++++++++>]<+++++++.>++[-<———->]<–.—–………………..>+[-<———->]<———.—.>++[-<++++++++++>]
第八页
<++…..>++++++[-<++++++++++>]<+++.>++[-<———->]<—.>+[-<———->]<—.>++[-<———->]<——-……>++[-<++++++++++>]<+++++++.>+[-<++++++++++>]<+++.>++[-<———->]<——-..>++[-<++++++++++>]<+++++++.>++[-<———->]<——-.>+[-<———->]<—…>++++[-<++++++++++>]<.>+[-<———->]<—.>++[-<———->]<——-.+++++.>++[-<++++++++++>]<++.
第9页(最后一页)
我的第一个BrainFuck程序,请多指教啊。。。。。。。。。。。。。。。另,扰屏抱歉,代码实在是太多了。。。没办法。。。
回复:精神可嘉,值得学习
[
] 是什么意思? 不明白
做spoj3
有什么牛鼻的,有本事就直接用0和1写程序, 我看发明和用这种语言的人是纯粹无聊自找罪受
哈哈!我就写了这种程序:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
只是,没有1
偶写的brainfuck到C语言的编译器:
+++++++++++++++++++++++++++++++++++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++.
———–.
+++++++++.
+++++++++.
—————–.
+.
———————————————————————.
++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
—————-.
+++++.
++++++.
—————————————————————–.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——————————————.
—————————————————-.
+++++++++++++++++++++++++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++.
———–.
+++++++++.
+++++++++.
—————–.
+.
———————————————————————.
++++++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
—————-.
++++++++.
—.
——-.
—————————————————-.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——————————————.
—————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
+++++++++++++++++++++++++++++++++.
———————————.
+++++++++++..
-.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————–.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
++++++++++++++++++++++++++++++++++.
———————————-.
++++++++++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————.
++++++++++++++++++++++++++++++++++++++++++.
–.
+++++++++++++++.
—————–.
+++++.
——-.
+++++++++++++++++.
————————————————————————–.
+.
++++++++++++++++++.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
+++++++++++++++++++++++++++++++++++.
———————————–.
+++++++++++++..
—.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————–.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
++++++++++++++++++++++++++++++++++++.
————————————.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++.
-.
—————–.
+++++.
——-.
+++++++++++++++++.
————————————————————————–.
++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
———————————————————————–.
++++++++++++++++++.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
+++++++++++++++++++++++++++++++++++++.
————————————-.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——————————————————————-..
++++++++++++++.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
++++++++++++++++++++++++++++++++++++++.
————————————–.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
———————————————————————..
++++++++++++++++.
————————————————-.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
+++++++++++++++++++++++++++++++++++++++.
—————————————.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————.
+.
+++.
——-.
————————————————————-.
++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
———————————————————————–.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————————————————————————–.
+++++++++++++++++++++++++.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+.
+.
+++.
+++++.
———.
———————————————————————.
++++++++++++++++++++++++++++++++++++++++.
—————————————-.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——————————————————————————————————————-.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
+++++.
——-.
+++++++++++++++++.
———————————————————————————-.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
———————–.
—————————————.
—-….
+++++++++++++++++++++++++++++++++++++++++++++.
——————————–.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————————————.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——————————————————————.
++++++++++++++++++++++++++++++++++++++++++++++.
+++++.
++++++.
————————————————————————————.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
————.
++++++++.
+++++.
———————————————————————-.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
——-.
——.
—–.
———————————————————–.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
————————.
+++++.
——-.
+++++++++++++++++.
————————————————————————.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
—————————————————.
+++++++++++++++++++++++++++++++++++++++++++++++++++++.
———————————————————————–.
++++++.
-….
+++++++++++.
————————————————-..
/////////////////////////////cjaizss compile////////////////////////
> //0
>
+ //1
[
, //input
>>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<>+>+>+>+>+>+>+>+<<<<<<<<>——————————————– //plus
[-]>——————————————— //comma
[<>-]<>>———————————————- //sub
[<<>>-]<<>>>———————————————– //point
[<<<>>>-]<<<>>>>————————————————————- //less
[<<<<>>>>-]<<<<>>>>>————————————————————— //greater
[<<<<<>>>>>-]<<<<<>>>>>>——————————————————————————————– //left square bracket
[<<<<<<>>>>>>-]<<<<<<>>>>>>>———————————————————————————————- //right square bracket
[<<<<<<<>>>>>>>-]<<<<<<<<-
[
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
[-]
+++++++++.
[-]
]
]
<
]
////////////////////////////////////////////////////////////////
[-]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
————-.
+++++++++++++++.
+.
—.
—-.
——————————————————————————.
++++++++++++++++.
+++++++++++.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
[-]
++++++++++.
123
火星人~~
Gennady!!! A young Genius
看得头也晕了,无语
and 怎么搞?
+++++++++++++++++++
+++++++++++++++++++???????>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>?>>>>>>>>>>>:””??????????????
s.addcode “Function G():L(T)=L(T)*2:End Function”
s.addcode “Function H():L(T)=L(T)2:End Function”
+***+*+**.>+++**+**.–.
指针、指针指向的字节、指针指向的单元分别是什么?不懂
指针、指针指向的字节、指针指向的单元分别是什么?不懂
因为ascii表的范围是0-255,所以可以用比较浪费空间的方法来实现变量的复制(我没打错字……)和比较。
研究了一会,顺便把逻辑非、不带break/continue的for,还有if想出来了。有了这些就够了= =
在截图中出现了另一个神人……
截图中出现了另外一位神人……
正在接触中
+[>[.[-]]>[.[-]]>[.[-]],>,[->+>+<[-]>———-[[-]]<<>>++++++++++>+<<<[->>+>>+<<<[->———>>>+<<<++++++++]为什么TLE
看到这个我只想说。。Fuck you falimies one by one over and over again!!!!!
Brainfuck实现3x-1
假设目前指针已经指向欲计算的数字
[-> > > <<>>[-<<>>]<[-<>]<[-]<-
最前面是复制第一个数为后边三个数,后边三个都是减自己以加第一个数,于是就得到三份数字之和;再减一不解释;不支持负数
其实还有兼容性更强的方案,乘多少随你定,但比较麻烦,就不写了
你的Brainfuck 竞赛是在哪里看到的?
顺便推荐一下Anarchy Golf,可以提交Brainfuck.
我自己写了一个爆短的编译器:
#include
int main() {
char code_pointer = 0, p = 0, m[300000], c[300000] = “”;
std :: stack b; std :: map a;
for(int i = 0; c[i] != 0; i ++) {
if(c[i] == ‘[‘) b.push(i);
else if(c[i] == ‘]’) {
int n = b.top();
b.pop();
a[i] = n; a[n] = i;
}
}
for(; c[P] != 0; code_pointer ++){
if(c[P] == ‘>’) ++ p;
else if(c[P] == ‘<') — p;
else if(c[P] == '+') ++ m[p];
else if(c[P] == '-') — m[p];
else if(c[P] == '.') putchar(m[p]);
else if(c[P] == ',') m[p] = getchar();
else if(c[P] == '[') { if(m[p] == 0) code_pointer = a[code_pointer]; }
else if(c[P] == ']') if(m[p]) code_pointer = a[code_pointer];
}
return 0;
}
语言:C++
完了, 忘了加头文件了。。。T_T
#include
int main() {
char code_pointer = 0, p = 0, m[300000], c[300000] = “”;
std :: stack b; std :: map a;
for(int i = 0; c[i] != 0; i ++) {
if(c[i] == ‘[‘) b.push(i);
else if(c[i] == ‘]’) {
int n = b.top();
b.pop();
a[i] = n; a[n] = i;
}
}
for(; c[P] != 0; code_pointer ++){
if(c[P] == ‘>’) ++ p;
else if(c[P] == ‘<') — p;
else if(c[P] == '+') ++ m[p];
else if(c[P] == '-') — m[p];
else if(c[P] == '.') putchar(m[p]);
else if(c[P] == ',') m[p] = getchar();
else if(c[P] == '[') { if(m[p] == 0) code_pointer = a[code_pointer]; }
else if(c[P] == ']') if(m[p]) code_pointer = a[code_pointer];
}
return 0;
}
那个Brainfuck到C的Brainfuck编译器,你们怎么都不运行一下的呀?
全输出乱码。
啊?头文件只能自己补上了。。。
我写了一个Brainfuck游戏(猜密码游戏)
我把它搞得非常好看:
>++++++++ [ – ]
>++++++ [-]
>+++++++++++[ – ]
>>++++++++ [-]
>++++++++ [-]
<<, [-]
, [-<>]
, [-<<>>]
<<>>>T hi.[]]
>>>>>.<<<>>s p roj.[]]
>>>>.<<>ect .is by[]]
>>>. [ B-ob ]
Uh oh. 自动把空格删了。
缩减你的AC代码:
>>,>,<<>——–<
>—-[>>+>]<[<]>++++++++<>++++>——–<>–[>+>]
<[>++++++++<
>++>[<[-],>[-]<<<
>——–<>–
–[>>+>]<[<]>++++
++++<>++++>–
——<>–[>+>]<[>++++++++<>++>]
>>,>,<<>——–<
>—-[>>+>]<[<]>++++++++<>++++>——–<>–[>+>]
<[>++++++++<
>++>[<[-],>[-]<<<
>——–<>–
–[>>+>]<[<]>++++
++++<>++++>–
——<>–[>+>]<[>++++++++<>++>]
大佬 膜拜 %%%
居然和Tourist连着