उत्पन्न करना; # कोड


36

से संबंधित: एक बनाओ! # दुभाषिया

उपरोक्त लिंक की चुनौती में कार्य गूढ़ भाषा के लिए दुभाषिया बनाना था ;#

;#भाषा

भाषा की दो आज्ञाएँ हैं: ;और #(अन्य सभी पात्रों को दुभाषिया द्वारा अनदेखा किया गया है):

;: संचायक में वृद्धि

#: 127 से संचायक को मोड्यूलो करें, संबंधित ASCII वर्ण को प्रिंट करें और संचायक को 0 पर रीसेट करें।

चुनौती

क्योंकि मैं आलसी हूं, लेकिन फिर भी कुछ और टेस्टेसिस का परीक्षण करना चाहता हूं, मुझे एक प्रोग्राम या फ़ंक्शन की आवश्यकता है जो ;#कोड को सादे पाठ में परिवर्तित करता है ।

इनपुट

इनपुट एक स्ट्रिंग है, जिसे या तो तर्क के रूप में या स्टड के माध्यम से लिया जाता है। इसमें केवल मुद्रण योग्य एएससीआईआई अक्षर और नए अंक होंगे।

उत्पादन

आउटपुट ;#स्टडआउट के लिए वापस लौटने, या मुद्रण द्वारा उत्पन्न कार्यक्रम है। जब तक कार्यक्रम वैध है, तब तक इसमें अतिरिक्त वर्ण हो सकते हैं #और ;अन्य सभी वर्णों की उपेक्षा की जाती है।

उदाहरण

Input: Hello, World!
Output: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

Input: ABC
Output: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

Input: ;#
Output: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#

लीडरबोर्ड


9
प्रतिभाशाली! देखने में खुशी होगी; # ध्यान आ रहा है!
17'17

1
आप यहां अपने आउटपुट का परीक्षण कर सकते हैं , जैसा कि; # + का सुपरसेट है; #।
अड्म

3
क्या आउटपुट में अतिरिक्त चरित्र हो सकते हैं? ;#अन्य सभी पात्रों को अनदेखा करता है, इसलिए उत्पन्न कार्यक्रम अभी भी काम करेगा।
डेनिस

2
@ Benoantt: कोड उत्पन्न करते समय मापांक अप्रासंगिक है, क्योंकि कोड को उत्पन्न करना हमेशा आसान होता है जो न्यूनतम संख्या का उपयोग करता है ;। दूसरे, 127 सही है, जैसा कि जुड़े हुए प्रश्न में कहा गया है, जिसमें # भाषा का विनिर्देश है।
जोए

2
यह वास्तव में ट्रांसप्लिंग नहीं है। "जनरेट #; कोड" एक बेहतर शीर्षक है। मैं इसे बदलने जा रहा हूँ।
मेगो

जवाबों:


49

; # + , 61 बाइट्स

कॉनर ओ'ब्रायन द्वारा किया गया बहिर्गमन

;;;;;;;(~;;;;;~-;-)~>:~;;;;(~;;;;;;~-;-)~>~-*((;~<#~):<#-:-*)

इसे ऑनलाइन आज़माएं!

ध्यान दें कि इनपुट में एक अनुगामी नल बाइट है।


12
शैली के लिए अंक।
चौलेट

1
मैं इस जवाब को स्वीकार करता हूं: डी निश्चित रूप से नौकरी के लिए सही भाषा है
कॉनर ओ'ब्रायन

34

; # + , 40 बाइट्स

;;;;;~+++++++>~;~++++:>*(-(;~<#~):<#-*:)

इसे ऑनलाइन आज़माएं! इनपुट को शून्य बाइट के साथ समाप्त किया जाता है।

व्याख्या

कोड दो भागों में विभाजित है: पीढ़ी और पुनरावृत्ति।

पीढ़ी

;;;;;~+++++++>~;~++++:>

यह स्थिरांक ;और #स्मृति में डालता है :

;;;;;~+++++++>~;~++++:>
;;;;;                     set A to 5
     ~                    swap A and B
      +++++++             add B to A 7 times
                          (A, B) = (5*7, 5) = (35, 5)
             >            write to cell 0
              ~           swap A and B
               ;          increment A
                ~         swap A and B
                          (A, B) = (35, 6)
                 ++++     add B to A 4 times
                          (A, B) = (59, 6)
                     :    increment cell pointer
                      >   write to cell 1

यात्रा

*(-(;~<#~):<#-*:)
*                    read a character into A
 (            * )    while input is not a null byte:
  -                  flip Δ
   (     )           while A != 0
    ;                decrement
     ~               swap A and B
      <              read ";" into A
       #             output it
        ~            swap A and B
           :         decrement cell pointer
            <        read "#" into A
             #       output it
              -      flip Δ
               *     take another character from input
                :    increment cell pointer

1
यह सब एक मजाक की भाषा से किया गया था जब मैं ऊब गया था। प्रशंसा सुनकर खुशी हुई, धन्यवाद।
caird coinheringaahing

@RandomUser: डी के साथ खेलने के लिए एक मजेदार अवधारणा है
कॉनर ओ'ब्रायन

हुह। क्या होगा यदि मैं चाहता हूं कि कार्यक्रम में एक शून्य बाइट को प्रिंट करने के लिए #?
tuskiomi


@ ConorO'Brien मैं आपके कार्यक्रम में कैसे इनपुट करूँगा?
tuskiomi


12

जेली , 10 8 7 बाइट्स

O”;ẋp”#

इसे ऑनलाइन आज़माएं!

O”;ẋp”#  Main Link
O        Map over `ord` which gets the codepoint of every character
 ”;ẋ     Repeat ';' the required number of times
     ”#  '#'
    p    Cartesian Product; this puts a '#' at the end of each element in the array

Implicit Output shows as a single string

-2 बाइट्स शुक्रिया @Emigna
-1 बाइट थैंक्स टू @ डेनिस


क्या आप इसके O”;ẋ;€”#बजाय कर सकते थे ?
एमिगा

@Eigna आह, हाँ, धन्यवाद। मुझे नहीं लगता कि यह कैसे काम करता है लेकिन मैं इसे समझता हूं। धन्यवाद!
हाइपरएन्यूट्रीनो

4
;€बन सकता है p
डेनिस

@ डेनिस ओह अब मैं समझता हूं कि यह कैसे काम करता है। धन्यवाद! :)
हाइपरएन्यूट्रीनो

11

जीएस 2 , 6 बाइट्स

■•;2•#

इसे ऑनलाइन आज़माएं!

प्रतिवर्ती हेक्सडंप (xxd)

0000000: ff 07 3b 32 07 23                                ■•;2•#

यह काम किस प्रकार करता है

■       Map the rest of the program over  all code points C of the input.
 •;         Push ';'.
   2        Multiply; repeat ';' C times.
    •#      Push '#'.

2
= क्या बिल्ली?
एरिक आउटोलॉफ़र

1
2गुणन कमांड क्या है? GS2 अजीब है: P
ETHproductions

1
@EriktheOutgolfer प्रत्येक इनपुट चरित्र के कोड बिंदु o_O के लिए कोड निष्पादित करता है
श्री Xcoder

@EriktheOutgolfer जितना लगता है, उससे कहीं ज्यादा फैन है। बस नक्शा है , और GS2 पूर्णांक की सूची के रूप में तार लगाता है।
डेनिस

@ETHproductions GS2 चरित्र-आधारित नहीं है; यह कच्चे बाइट स्ट्रीम के रूप में स्रोत कोड की व्याख्या करता है, और आमतौर पर निर्देश और CP-437 चरित्र बाइट एन्कोड के बीच कोई संबंध नहीं है। X86_64 बाइट कोड में, 2XOR है ...
डेनिस

10

टैक्सी, 779 बाइट्स

Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to Chop Suey.Go to Chop Suey:n 1 r 1 l 4 r 1 l.[c]Switch to plan "e" if no one is waiting.Pickup a passenger going to Charboil Grill.Go to Charboil Grill:n 1 l 3 l 3 l.Pickup a passenger going to The Underground.Go to Writer's Depot:w 1 r.[p]; is waiting at Writer's Depot.Pickup a passenger going to Post Office.Go to Post Office:n 1 r 2 r 1 l.Go to The Underground:n 1 r 1 l.Switch to plan "n" if no one is waiting.Pickup a passenger going to The Underground.Go to Zoom Zoom:n 3 l 2 r.Go to Writer's Depot:w.Switch to plan "p".[n]# is waiting at Writer's Depot.Go to Writer's Depot:n 3 l 2 l.Pickup a passenger going to Post Office.Go to Post Office:n 1 r 2 r 1 l.Go to Chop Suey:n 1 r 1 l 4 r 1 l.Switch to plan "c".[e]

इसे ऑनलाइन आज़माएं!

Ungolfed:

Go to Post Office: west 1st left 1st right 1st left.
Pickup a passenger going to Chop Suey.
Go to Chop Suey: north 1st right 1st left 4th right 1st left.
[c]
Switch to plan "e" if no one is waiting.
Pickup a passenger going to Charboil Grill.
Go to Charboil Grill: north 1st left 3rd left 3rd left.
Pickup a passenger going to The Underground.
Go to Writer's Depot: west 1st right.
[p]
; is waiting at Writer's Depot.
Pickup a passenger going to Post Office.
Go to Post Office: north 1st right 2nd right 1st left.
Go to The Underground: north 1st right 1st left.
Switch to plan "n" if no one is waiting.
Pickup a passenger going to The Underground.
Go to Zoom Zoom: north 3rd left 2nd right.
Go to Writer's Depot: west.
Switch to plan "p".
[n]
# is waiting at Writer's Depot.
Go to Writer's Depot: north 3rd left 2nd left.
Pickup a passenger going to Post Office.
Go to Post Office: north 1st right 2nd right 1st left.
Go to Chop Suey: north 1st right 1st left 4th right 1st left.
Switch to plan "c".
[e]

स्पष्टीकरण:

Pick up stdin and split it into characters.
Covert each character to ASCII.
Print ";" as you count down from that ASCII to zero.
Print "#".
Pickup the next character and repeat until done.

+1 मुझे बस और मॉर्निंगटन क्रीसेंट जैसी भाषाओं से प्यार है, कोड सिर्फ इतना सुंदर है!
कार्ल-जोहान Sjögren


9

ब्रेनफक, 43 बाइट्स

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

नल बाइट कार्यक्रम समाप्त करता है।

व्याख्या

+[+[<]>->++]          59 (semicolon) location 5
--[>--<+++++++]>-       35 (hash) location 7
<,[                     input location 6
    [   while input byte not 0
        <.>     print semicolon
        -       decrement input byte
    ]
    >.< print hash
,]  loop while input not null

यह ब्रेनफ * सीके के लिए प्रभावशाली रूप से छोटा है।
एमडी एक्सएफ

अजगर जवाब के साथ लगभग प्रतिस्पर्धा करता है। प्रभावशाली।
मूली ०

7

पायथन 3 , 39 बाइट्स

[print(";"*ord(s)+"#")for s in input()]

इसे ऑनलाइन आज़माएं!


2
for s in input():print(";"*ord(s)+"#")एक बाइट कम है
17'17 को

1
उस समय @ovs जब आप मान लेते हैं कि सूची संक्षिप्त है।
मिस्टर एक्सकोडर

1
कि एक स्ट्रिंग स्वीकार नहीं करता है एक newline के साथ यह करता है?
टिम

5

> <> , 22 बाइट्स

i:0(?;\"#"o
o1-:?!\";"

इसे ऑनलाइन आज़माएं या मछली के खेल के मैदान में

इनपुट STDIN है, आउटपुट STDOUT है। > <> में, वर्ण और ASCII कोड एक ही बात है, इसलिए हमें केवल एक वर्ण को पढ़ना होगा, वर्ण को प्रिंट करना होगा ";"और वर्ण को तब तक घटाना होगा जब तक कि यह 0 न हो, तब "#"तक प्रिंट करें और लूप करें जब तक कि अधिक इनपुट शेष न हो।


5

एफ #, 79 बाइट्स

let c i=System.String.Join("#",Seq.map(fun c->String.replicate(int c)";")i)+"#"

इसे ऑनलाइन आज़माएं!

विस्तारित

// string -> string
let convert input =
    System.String.Join(
        "#",      // join the following char seq with "#"
        input     // replicate ";" n times where n = ASCII value of char c
        |> Seq.map (fun c-> String.replicate (int c) ";") 
    ) + "#" // and add the last "#" to the output

कन्वर्ट इनपुट स्ट्रिंग लेता है और एक; # प्रोग्राम को आउटपुट करता है

प्रयोग

convert "Hello, World!" |> printfn "%s"
convert "ABC" |> printfn "%s"
convert ";#" |> printfn "%s"

4
हमें और अधिक F # उत्तर की आवश्यकता है
aloisdg का कहना है कि मोनिका

@aloisdg मैं अपना सर्वश्रेष्ठ प्रयास करूंगा :)
ब्रूनर


5

पॉवरशेल, 29 27 25 बाइट्स

$args|% t*y|%{';'*$_+'#'}

बहुत सीधा। कमांड-लाइन तर्क के रूप में इनपुट लेता है। आउटपुट एक मान्य; # प्रोग्राम है जो अनुरोधित पाठ को प्रिंट करता है।


इसके परिणाम परिणाम में शामिल होने की जरूरत है।
माज़ी

@mazzy: कार्य विवरण से: »जब तक कार्यक्रम वैध है, इसमें अन्य वर्णों की तुलना में अतिरिक्त वर्ण शामिल हो सकते हैं #और ;अन्य सभी वर्णों को अनदेखा किया जा सकता है।«
जॉय

जैसा कि आप चाहते हैं :-)
mazzy

उद्धरण चिह्नों को हटाया जा सकता है। $argsपर्याप्त है।
माज़ी

जब तक कि तर्क संख्यात्मक न हो।
जॉय

4

ब्रेनफक , 47 बाइट्स

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

इसे ऑनलाइन आज़माएं!

इसे भी देखें: ओवस का उत्तर , जो एक समान दृष्टिकोण लेता है, लेकिन स्थिरांक उत्पन्न करने की एक अलग विधि और एक अलग सेल लेआउट के साथ।


स्पष्टीकरण:

यह चुनौती दिमागी रूप से अच्छी तरह से कल्पना के साथ है, जिसका अर्थ है कि समाधान अनिवार्य रूप से तुच्छ है। Brainfuck ASCII मूल्यों के रूप में इनपुट लेता है, जो कि वास्तव में क्या है; # आउटपुट के रूप में की आवश्यकता है।

ट्रांसप्लिंग के लिए योजनाबद्ध सरल है: ASCII मान उत्पन्न करें ;और #, ;इनपुट वर्ण के ASCII मान के बराबर प्रिंट करें #, हर इनपुट के लिए दोहराएं।

+++++++[-             7
         >++++++++       * 8 = 56
         >+++++<<        * 5 = 35 (#)
       ]>+++<                  56 + 3 = 59 (;)
,[                    Input into first cell
  [>.<-]              Print ;'s equal to ASCII input
  >>.<<,              Print one #
 ]                    End on EOF

-2 बाइट्स केवल -1 यदि आप नकारात्मक कोशिकाओं से बच रहे हैं
जो राजा

4

मैथेमेटिका, 49 बाइट्स

StringRepeat[";",#]<>"#"&/@ToCharacterCode@#<>""&

व्याख्या

यहाँ छवि विवरण दर्ज करें

इनपुट स्ट्रिंग को वर्ण कोड की सूची में परिवर्तित करता है, फिर सूची पर Mapफ़ंक्शन StringRepeat[";",#]<>"#"&को फिर StringJoinसे खाली स्ट्रिंग के साथ परिणाम दर्ज करता है।


आपको इसकी आवश्यकता क्यों है <>""?
कैलक्यूलेटरफैनलाइन

@CalculatorFeline इसके बिना मुझे प्रत्येक चरित्र के लिए तार की एक सूची के साथ छोड़ दिया जाएगा। StringJoinआईएनजी ( <>) खाली स्ट्रिंग प्रत्येक स्ट्रिंग को समेटती है।
नगीनिस

उस के बारे में भूल गए: P
CalculatorFeline

3

Aceto , 19 बाइट्स

चूंकि एसिटो में एक दुभाषिया है , इसलिए मैंने सोचा कि इस चुनौती के साथ ही एक एसीटो उत्तर भी होगा। यह एक 2 वें क्रम में बड़े करीने से फिट बैठता है हिल्बर्ट वक्र:

\n;*
'o'p
`!#'
,dpO

सबसे पहले, हम एक एकल चरित्र ( ,) को पढ़ते हैं और यह जांचने के लिए नकल करते हैं और इसे नकारते हैं कि क्या यह एक नई d!रेखा है ( जब एक नई पंक्ति पढ़ते हैं, तो एक खाली चरित्र सामान्य रूप से स्टैक पर धकेल दिया जाता है)। मैं तब उपयोग करता हूं जो मुझे लगता है कि न्यूलाइन मामले को कॉम्पैक्ट रूप से संभालने के लिए एक बहुत चालाक चाल है:

`'\n

यदि स्टैक पर मान है True(हम एक नई पंक्ति को पढ़ने), कि कोड का अर्थ है: है ( `) स्टैक (पर एक चरित्र शाब्दिक डाल ') है, जो एक नई पंक्ति है: \n

यदि स्टैक पर मान है False(हमने कोई नई पंक्ति नहीं पढ़ी है), तो उस कोड का अर्थ है: नहीं ( `) एक वर्ण शाब्दिक ( ') पढ़ें । इसका मतलब है कि अगले चरित्र को एक कमांड के रूप में निष्पादित किया गया है। सौभाग्य से, एक बैकस्लैश अगले कमांड से बच जाता है (इसे बनाता है ताकि इसे निष्पादित न किया जाए), इसलिए nएक नई पंक्ति नहीं प्रिंट करता है (जो कि nआमतौर पर होता है)।

बाकी कोड सीधा है; हम चरित्र को स्टैक पर उसके यूनिकोड कोडपॉइंट ( o) के पूर्णांक में परिवर्तित करते हैं , हम एक शाब्दिक अर्धविराम ( ';) को धक्का देते हैं , स्ट्रिंग के साथ संख्या को गुणा करें ( *जैसे, पायथन में), pपरिणाम को रिंट करें, शाब्दिक ( ') धक्का दें #, pइसे रिंट करें भी, और Oरिगिन पर वापस जाएं।

-Fयदि आप तत्काल परिणाम (क्योंकि बफरिंग) देखना चाहते हैं, तो चलाएं , लेकिन यह बिना भी काम करता है।


3

पर्ल, 24 बाइट्स

s/./";"x(ord$&)."#"/ges

साथ दौड़ो perl -pe

दूसरा तरीका:

say";"x ord,"#"for/./gs

के साथ भागो perl -nE


3

सांत्वना , 11 बाइट्स

याय, नई भाषाएँ।

';@jx{'#}Ep

व्याख्या

';           Push the code point of ';' (59).
  @j         Push the entire input as a list of code points.
    x        For each code point in the input, repeat 59 that many times.
     {  }E   For each resulting list of 59s:
      '#      Push the code point of '#' (35).
          p  Flatten and print as unicode characters.

3

फूरियर , 19 बाइट्स

$(I(`;`&j)`#`0~j&i)

यह चार वीडियो पर कोशिश करो!

चलाने के लिए, आपको इनपुट स्ट्रिंग को उद्धरण चिह्नों में संलग्न करना होगा।

व्याख्या छद्मकोश

While i != Input length
    temp = pop first char of Input
    While j != Char code of temp
        Print ";"
        Increment j
    End While
    Print "#"
    j = 0
    Increment i
End While

3

Befunge-98 (FBBI) , 23 17 10 बाइट्स

-5 बाइट्स जो किंग के लिए धन्यवाद ।

"#@~k:*k,;

इसे ऑनलाइन आज़माएं!


1
@JoKing बहुत बहुत धन्यवाद। मैं दो बाइट्स को और अधिक दूर करने में सक्षम था। यह अब पायथ, हस्क और सीजम के साथ सम्‍मिलित है!
Ovs

3

जावास्क्रिप्ट, 55 54 51 50 48 बाइट्स

s=>1+[...s].map(c=>";".repeat(Buffer(c)[0])+"#")

इसे ऑनलाइन आज़माएं

  • 1 बाइट ने नील को धन्यवाद दिया ।

वैकल्पिक

यदि हम अलग-अलग वर्णों के एक सरणी के रूप में इनपुट ले सकते हैं तो 5 बाइट्स बचाए जा सकते हैं।

a=>1+a.map(c=>";".repeat(Buffer(c)[0])+"#")

यदि हम एक सरणी के रूप में भी आउटपुट कर सकते हैं तो 2 और बाइट्स को बचाया जा सकता है।

a=>a.map(c=>";".repeat(Buffer(c)[0])+"#")

\nबनना चाहिए ;;;;;;;;;;#
नील

हम्म ... यह अजीब है। मुझे लगता है कि मैं लंबे समय तक समाधान के लिए वापस रोल करना होगा। धन्यवाद, @ नील।
झबरा

2
मुझे लगता है कि आप को बदल सकता है .के लिए [^], जो अभी भी यह एक की तुलना में कम बाइट छोड़ना होगा map/join?
नील

यूप, कि काम किया, @ नील :)
झबरा

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


2

एपीएल (डायलॉग) , 18 बाइट्स

'#',¨⍨';'⍴¨⍨⎕UCS

इसे ऑनलाइन आज़माएं!

⎕UCS यूनिकोड कोड बिंदुओं में परिवर्तित करें

';'⍴¨⍨ प्रत्येक कोड बिंदु का उपयोग फेरबदल के लिए करें ( ≈ = Rho R R ; R eshape) एक अर्धविराम

#',¨⍨ प्रत्येक स्ट्रिंग के लिए एक हैश संलग्न करें


2

रूबी, 28 25 बाइट्स

24 बाइट्स, प्लस -nकमांड लाइन स्विच को बार-बार संचालित करने के लिए stdin

$_.bytes{|b|$><<?;*b+?#}

3 बाइट्स सहेजे गए (और आउटपुट ने नईलाइनों पर सही किया!) मैनटवर्क के लिए धन्यवाद।


आप .ordसीधे चरित्र कोड के साथ काम करने से बच सकते हैं $_.bytes{|b|$><<?;*b+?#}:। अंतर है: यह एक इनपुट में न्यूलाइन को भी एनकोड करता है। यह निश्चित नहीं है कि प्रश्न के स्वामी का यह कहना है कि "इसमें केवल मुद्रण योग्य ASCII वर्ण और नई सुर्खियाँ होंगी।", लेकिन मुझे लगता है कि नई सूचियाँ भी एन्कोडेड होनी चाहिए।
8:17 पर मैनटवर्क

आपका रूबी-फू मेरा से अधिक है, @manatwork - मैं भूल गया था bytes। मैंने ओपी से ऊपर के बारे में नए सिरे से पूछा है और बाद में इसे संपादित करूंगा।
चौलेट


2

ऐलिस , 12 बाइट्स

'#I.h%&';d&O

इसे ऑनलाइन आज़माएं!

व्याख्या

'#    Push 35, the code point of '#'.
I     Read a code point C from STDIN. Pushes -1 at EOF.
.h%   Compute C%(C+1). For C == -1, this terminates the program due to division
      by zero. For C > -1, this just gives back C, so it does nothing.
&';   Pop C and push that many 59s (the code point of ';').
d     Push the stack depth, which is C+1.
&O    Print that many code points from the top of the stack.
      The IP wraps around to the beginning and another iteration of this
      loop processes the next character.




हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.