2012-09-24 11 views
13

मैंने थोड़ी देर के लिए खोज की है, लेकिन मुझे कुछ भी नहीं मिला जो मेरी मदद कर सकता है।मस्तिष्क में एक संख्या मुद्रित?

मान लें कि पहला सेल (या मान, आदि) 165 के बराबर है। मैं "165" कैसे प्रिंट करूं?

मेरा विचार अलग-अलग टुकड़ों में संख्या को काटना था: 1,6 और 5. उन्हें प्रिंट करने में कोई समस्या नहीं होगी।

नोट: मैं सिर्फ "165" प्रिंट नहीं करना चाहता हूं। मैं पहले सेल के मूल्य को मुद्रित करना चाहता हूं। इससे कोई फर्क नहीं पड़ता कि यह 165, 255, 0, 1 या कुछ और है।

उत्तर

12

उपयोग एक प्रसिद्ध सापेक्ष प्रक्रिया (http://esolangs.org/wiki/brainfuck_algorithms तुम्हारी मदद करेगा)

>+++++++++++[-<+++++++++++++++>] # initialize 165 at first cell 
>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]>[+[- 
<+>]>+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-<]++++++[->++++++++ 
<]>.[-]]<<++++++[-<++++++++>]<.[-]<<[-<+>] 
+0

+1। लेकिन यह फ़ंक्शन केवल 3 अंकों की संख्या के लिए काम करता है। –

+0

[कोड जो एक ही पृष्ठ पर सभी सेल आकारों के लिए काम करता है] (http://esolangs.org/wiki/brainfuck_algorithms#Print_value_of_cell_x_as_number_for_ANY_sized_cell_.28ie_8bit.2C_16bit.2C_etc.29)। – amoebe

7

मैंने एक साधारण भाषा बनाई है जो brainfuck को संकलित करता है जो यहां पाया जा सकता है: http://code.google.com/p/brainfuck-compiler। जावा में लागू भाषा के लिए एक कंपाइलर है।

मैं संख्या को आउटपुट करने के लिए उस भाषा में निम्न फ़ंक्शन का उपयोग करता हूं। हो सकता है कि आप जेनरेट कोड का विश्लेषण कर सकें और देखें कि इससे आपके लिए कुछ भी उपयोग किया जा सकता है या नहीं। हालांकि चेतावनी का एक शब्द, यह कोशिकाओं के चारों ओर एक अनावश्यक प्रतिलिपि उत्पन्न करता है (इसे अनुकूलित करने के लिए कभी भी नहीं मिला)। वैसे भी यहां एक उदाहरण कार्यक्रम और बीएफ कोड उत्पन्न होता है। (ध्यान दें कि indentations मेरी भाषा में टैब होना चाहिए)

declare n, 165 
declare digits 
while n 
    push n % 10 
    digits = digits + 1 
    n = n/10 
if digits 
    while digits 
     out pop + 48 
     digits = digits - 1 
else 
    outs "0" 

और यहाँ उस के लिए तैयार किए गए कोड है:

>>>>>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
++++++++++++++[<+>-]<[>>+>+<<<-]>>>[<<<+>>>-]<[[-]<<[>>>+>+<<<<-]>>>>[<<<<+>>>>- 
]++++++++++<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<-]>[<<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]<[>+ 
<<-[>>[-]>+<<<-]>>>[<<<+>>>-]<[<-[<<->>[-]]+>-]<-]<<+>]<[>>+<<-]>>[<<<[>+>+<<-]> 
>[<<+>>-]>-]<<[<<->>-]<[-]<[>>>>>>>>+<<<<<<<<-]>>>>>>>>>[>>]+[<<]>[>[>>]<+<[<<]> 
-]<<<<<<<<<<[>>+>+<<<-]>>>[<<<+>>>-]+[<+>-]<<<[-]>>[<<+>>-]<<<[>>>+>+<<<<-]>>>>[ 
<<<<+>>>>-]++++++++++<[>>+<<-]>>[<[>>+>+<<<-]>>>[<<<+>>>-]<[>+<<-[>>[-]>+<<<-]>> 
>[<<<+>>>-]<[<-[<<<->>>[-]]+>-]<-]<<<+>>]<[-]<<<<[-]>>>[<<<+>>>-]<<<[>>>+>+<<<<- 
]>>>>[<<<<+>>>>-]<[<+>-]<]<[>+>+<<-]>>[<<+>>-]<[>+<[-]]+>[<[-]<[>>>+>+<<<<-]>>>> 
[<<<<+>>>>-]<[[-]>>>>>>>>[>>]<[<[<<]<<<<<+>>>>>>>[>>]<-]<-<<[<<]<<<<<>++++++++++ 
++++++++++++++++++++++++++++++++++++++[<+>-]<.[-]<<<<[>>>>+>+<<<<<-]>>>>>[<<<<<+ 
>>>>>-]+[<->-]<<<<<[-]>>>>[<<<<+>>>>-]<<<<[>>>>+>+<<<<<-]>>>>>[<<<<<+>>>>>-]<[<+ 
>-]<]<[-]]<[>>++++++[<++++++++>-]<.[-]<[-]]<[-]<[-]>>>>>>>>>>>>[>[-]>]<<[-<<]<<< 
<<<<<<<<<<<<<<[-]<[-] 
+0

यह सिर्फ भयानक धीमा है ... लिंक के लिए –

संबंधित मुद्दे