ब्रेनफक, 240 वर्ण
,
>++
+++++
+[-<---
--->],[>+
+++++++[-<-
----->]<<[->+
+++++++++<]>>]<
[->+>+>>>>>>>+<<<
<<<<<<]>>>>++++++++
[-<++++>]>++++++[-<++
+++++>]+>>>++[-<+++++>]
<<<<<<[-[>.<-]<[-<+>>+<]<
[->+<]>>>>>[-<.>>+<]>[-<+>]
>.<<++<<<-<->]>>>>>>>-[-<<<<<
<.>>>
>>>]<
<<<<.
अभी तक नहीं किया गया। यह काम करता है, लेकिन केवल एकल-अंकों की संख्या के साथ।
संपादित करें: हो गया! EOF के रूप में 0 का उपयोग करने वाले दुभाषियों के लिए काम करता है। NOTE
-1 वाले लोगों के लिए टिप्पणी स्रोत में देखें ।
EDIT फिर से: मुझे ध्यान देना चाहिए कि क्योंकि Brainfuck के पास कमांड लाइन की दलीलें पढ़ने के लिए एक मानक विधि का अभाव है, मैंने इसके बजाय स्टडिन (मानक इनपुट) का उपयोग किया। ASCII, बेशक।
तीसरी बार संपादित करें: ओह प्रिय, ऐसा लगता है .
कि कोड को संघनित करते समय मैंने (आउटपुट) अक्षर छीन लिए थे। फिक्स्ड ...
यहां मुख्य लूप का बेसिक मेमोरी मैनेजमेंट है। मुझे यकीन है कि यह चरित्र गणना को 30 या उससे कम करने के लिए भारी रूप से अनुकूलित किया जा सकता है।
- अस्थायी
- प्रति की प्रति
- काउंटर (गिनती में 0)
- अंतरिक्ष चरित्र (दशमलव 32)
- तारांकन वर्ण (दशमलव 42)
- वर्तमान लाइन पर तारों की संख्या (1 + 2 * काउंटर)
- अस्थायी
- नई लाइन चरित्र
- अस्थाई?
- लाइनों की कुल संख्या (यानी इनपुट मूल्य; ट्रंक को प्रिंट करते समय बहुत अंत तक संग्रहीत)
संघनित संस्करण:
,>++++++++[-<------>],[>++++++++[-<------>]<<[->++++++++++<]>>]<[->+>+>>>>>>>+<<<<<<<<<]>>>>++++++++[-<++++>]>++++++[-<+++++++>]+>>>++[-<+++++>]<<<<<<[-[>.<-]<[-<+>>+<]<[->+<]>>>>>[-<.>>+<]>[-<+>]>.<<++<<<-<->]>>>>>>>-[-<<<<<<.>>>>>>]<<<<<.
और सुंदर संस्करण:
ASCII to number
,>
++++++++[-<------>] = 48 ('0')
Second digit (may be NULL)
,
NOTE: Add plus sign here if your interpreter uses negative one for EOF
[ NOTE: Then add minus sign here
>++++++++[-<------>]
<<[->++++++++++<]>> Add first digit by tens
]
Duplicate number
<[->+>+>>>>>>>+<<<<<<<<<]>>
Space char
>>++++++++[-<++++>]
Asterisk char
>++++++[-<+++++++>]
Star count
+
New line char
>>>++[-<+++++>]<<<
<<<
Main loop
[
Print leading spaces
-[>.<-]
Undo delete
<[-<+>>+<]
<[->+<]
>>
Print stars
>>>[-<.>>+<]
Add stars and print new line
>[-<+>]
>.<
<++
<<<
-<->
End main loop
]
Print the trunk
>>>>>>>
-[-<<<<<<.>>>>>>]
<<<<<.
Merry Christmas =)
c=:[:((\:i.@#),}.)"1[:$&'*'"0[:>:0,~i.