জেনারেট; # কোড


36

সম্পর্কিত ; একটি দোভাষী তৈরি করুন

উপরোক্ত সংযুক্ত চ্যালেঞ্জটিতে কাজটি ছিল মূল ভাষাটির জন্য দোভাষী তৈরি করা ;#

;#ভাষা

ভাষার ঠিক দুটি কমান্ড রয়েছে: ;এবং #(অন্য সমস্ত অক্ষর দোভাষী দ্বারা উপেক্ষা করা হবে):

;: সংগ্রহকারী বৃদ্ধি

#: 127 দ্বারা সংগ্রহকারীকে মডুলো করুন, সংশ্লিষ্ট ASCII অক্ষরটি মুদ্রণ করুন এবং সংযোজকটিকে 0 এ পুনরায় সেট করুন।

চ্যালেঞ্জ

কারণ আমি অলস নই কিন্তু এখনও কিছু testcases পরীক্ষা করতে চান, আমি একটি প্রোগ্রাম বা ফাংশন যা প্লেইন টেক্সট পরিবর্তন করে প্রয়োজন ;#কোড।

ইনপুট

ইনপুটটি একটি স্ট্রিং, হয় হয় তর্ক হিসাবে বা স্টিডিনের মাধ্যমে। এটিতে কেবল মুদ্রণযোগ্য এএসসিআইআই অক্ষর এবং নতুনলাইন থাকবে।

আউটপুট

আউটপুট হ'ল উত্পাদিত ;#প্রোগ্রামটি ফিরে আসার মাধ্যমে, বা স্টডআউটে মুদ্রণ করে। যতক্ষণ না প্রোগ্রামটি বৈধ, ততক্ষণ এতে অতিরিক্ত অক্ষর থাকতে পারে #এবং ;অন্য সমস্ত অক্ষর উপেক্ষা করা হয়।

উদাহরণ

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

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

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

লিডারবোর্ড


9
উজ্জ্বল! দেখে খুশি! # মনোযোগ পাচ্ছে!
সিয়ার্ড কোইনারিংহিংহিং

1
আপনি এখানে আপনার আউটপুট পরীক্ষা করতে পারেন , যেমন # + একটি সুপারসেট; #।
অ্যাডম

3
আউটপুটটিতে অতিরিক্ত চরিত্র থাকতে পারে? ;#অন্যান্য সমস্ত চরিত্র উপেক্ষা করে, তাই উত্পন্ন প্রোগ্রামটি এখনও কাজ করবে।
ডেনিস

2
@ বেনোট: কোড তৈরি করার সময় মডুলাসটি অপ্রাসঙ্গিক, যেহেতু সর্বনিম্ন সংখ্যার কোড ব্যবহার করে এমন কোড উত্পন্ন করা সর্বদা সহজ ;। দ্বিতীয়ত, 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
বিরক্ত হওয়ার সময় আমি এইসব কৌতুকপূর্ণ ভাষা দিয়েছিলাম। আমি চাটুকার
'11

@ র্যান্ডম ইউসার: ডি এর সাথে ঘুরে দেখার এক মজার ধারণা
কনর ও'ব্রায়েন

হাহ। আমি যদি প্রোগ্রামটি একটি নাল বাইট প্রিন্ট করতে চাই; #?
tuskiomi


@ কনরও ব্রায়েন কীভাবে আমি আপনার প্রোগ্রামটিতে এটি ইনপুট করব?
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 বাইটস @ এমিগনা
-1 বাইট @ ডেনিসকে ধন্যবাদ


আপনি কি O”;ẋ;€”#পরিবর্তে করতে পারেন ?
এমিগিনা

@ এমিগনা আহ, হ্যাঁ, ধন্যবাদ আমি কীভাবে এটি কাজ করে তা বেশিরভাগই পাই না তবে আমি একরকম তা বুঝতে পারি। ধন্যবাদ!
হাইপারনিউটারিনো

4
;€হয়ে যেতে পারে p
ডেনিস

@ ডেনিস ওহ এখন আমি বুঝতে পারি যে এটি কীভাবে কাজ করে। ধন্যবাদ! :)
হাইপারনিউটারিনো

11

জিএস 2 , 6 বাইট

■•;2•#

এটি অনলাইন চেষ্টা করুন!

বিপরীতমুখী হেক্সডাম্প (এক্সএক্সডিডি)

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গুণের আদেশ কি? জিএস 2 অদ্ভুত: পি
ETH প্রোডাকশনগুলি

1
@ এরিকথ আউটগলফার ইনপুটটির প্রতিটি চরিত্রের কোড পয়েন্টের জন্য কোড সম্পাদন করে o_O
মিঃ এক্সকোডার

পছন্দ করুন কেবলমাত্র মানচিত্র এবং জিএস 2 সংখ্যার তালিকা হিসাবে স্ট্রিং প্রয়োগ করে।
ডেনিস

@ETH প্রোডাকশন জিএস 2 চরিত্রভিত্তিক নয়; এটি উত্স কোডটিকে কাঁচা বাইট স্ট্রিম হিসাবে ব্যাখ্যা করে এবং বাইট এনকোডগুলিতে নির্দেশিকা এবং সিপি -৩7 character চরিত্রের মধ্যে সাধারণত কোনও সংযোগ নেই। X86_64 বাইট কোডে, 2এটি XOR ...
ডেনিস

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 আমি কেবল এই এবং মর্নিংটন ক্রিসেন্টের মতো ভাষা পছন্দ করি, কোডটি খুব সুন্দর!
কার্ল-জোহান সিজগ্রেন


9

Brainfuck, 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

এটি ব্রেনফ * সিকে এর জন্য চিত্তাকর্ষকভাবে ছোট।
এমডি এক্সএফ

অজগর উত্তরের সাথে প্রায় প্রতিযোগিতা করে। চিত্তাকর্ষক।
Raddish0

7

পাইথন 3 , 39 বাইট

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

এটি অনলাইন চেষ্টা করুন!


2
for s in input():print(";"*ord(s)+"#")এক বাইট খাটো।
ovs

1
এই মুহুর্তে @s যখন আপনি একটি তালিকা উপলব্ধি আরও সংক্ষিপ্ত করে ধরে নেন।
মিঃ এক্সকোডার

1
এটি একটি নতুন লাইনের সাথে একটি স্ট্রিং গ্রহণ করে না?
টিম

5

> <> , 22 বাইট

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

এটি অনলাইনে চেষ্টা করুন বা মাছের খেলার মাঠে চেষ্টা করুন

ইনপুটটি STDIN, আউটপুটটি STDOUT। > <> ইন, অক্ষর এবং এএসসিআইআই কোডগুলি একই জিনিস, সুতরাং আমাদের কেবল একটি চরিত্রটি পড়তে হবে, অক্ষরটি মুদ্রণ করতে হবে ";"এবং এটি 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
আমাদের আরও এফ # উত্তর দরকার
অলয়েসডিজ

@ আলয়েসডজি আমি যথাসাধ্য চেষ্টা করব :)
ব্রুনার


5

পাওয়ারশেল, 29 27 25 বাইট

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

অনেকটাই অকপট. কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়। আউটপুট একটি বৈধ; # প্রোগ্রাম যা অনুরোধ করা পাঠ্যটি প্রিন্ট করে।


এটি ফলাফল স্ট্রিং যোগদান করতে হবে।
mazzy

@ ম্যামজি: টাস্কের বিবরণ থেকে: program যতক্ষণ না প্রোগ্রামটি বৈধ, ততক্ষণ এতে অতিরিক্ত অক্ষর থাকতে পারে #এবং ;অন্য সমস্ত চরিত্রকে উপেক্ষা করা হতে পারে «
জয়ে

আপনার
ইচ্ছামতো

উদ্ধৃতি চিহ্নগুলি সরানো যেতে পারে। $argsযথেষ্ট।
mazzy

যুক্তিটি সংখ্যাসূচক না হলে।
জোয়ি

4

ব্রেনফাক , 47 বাইট

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

এটি অনলাইন চেষ্টা করুন!

আরও দেখুন: ওভস এর উত্তর , যা একই ধরণের পদ্ধতির প্রয়োজন, তবে ধ্রুবক উত্পন্ন করার আলাদা পদ্ধতি এবং একটি আলাদা ঘর বিন্যাস সহ।


ব্যাখ্যা:

এই চ্যালেঞ্জটি ব্রেনফাক স্পেকের সাথে বেশ ভালভাবে যুক্ত, যার অর্থ সমাধানটি মূলত ক্ষুদ্র। ব্রেইনফাক এএসসিআইআই মান হিসাবে ইনপুট নেয়, যা ঠিক যেমন হয়; # হিসাবে আউটপুট প্রয়োজন।

Transpiling জন্য পরিকল্পিত সহজ: জন্য 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@#<>""&

ব্যাখ্যা

enter image description here

ইনপুট স্ট্রিংকে অক্ষর কোডের তালিকায় রূপান্তর করে, তারপরে তালিকার উপরের Mapফাংশনটি StringRepeat[";",#]<>"#"&, তারপরে StringJoinফলাফলটি খালি স্ট্রিং সহ।


তোমার দরকার কেন <>""?
ক্যালকুলেটরফলাইন

@ ক্যালকুলেটরফ্লাইন এটি ছাড়া প্রতিটি চরিত্রের জন্য স্ট্রিংয়ের একটি তালিকা আমার কাছে রেখে দেওয়া হবে। StringJoining ( <>) খালি স্ট্রিং প্রতিটি স্ট্রিংকে সংযুক্ত করে।
নেজেনিসিস

সে সম্পর্কে ভুলে গেছেন: পি
ক্যালকুলেটরফালাইন

3

Aceto , 19 বাইট

যেহেতু অ্যাসেটোর একজন দোভাষী আছেন , আমি ভেবেছিলাম সেখানে এই চ্যালেঞ্জটিরও একটি অ্যাসেটোর উত্তর হবে। এটি ২ য় অর্ডার হিলবার্ট কার্ভে খুব সুন্দরভাবে ফিট করে:

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

প্রথমত, আমরা একটি একক অক্ষর পড়ি ( ,) এবং এটি একটি নূতন লাইন কিনা তা পরীক্ষা করার জন্য এটি নকল করে এবং তা প্রত্যাখ্যান করি ( d!, যখন একটি নতুন লাইন পড়ার সময়, একটি খালি অক্ষর সাধারণত স্ট্যাকের উপর চাপ দেওয়া হয়)। আমি তারপরে নতুন লাইনের কেসটিকে সংক্ষিপ্তভাবে পরিচালনা করার জন্য যা মনে করি তা একটি দুর্দান্ত চালাক কৌশল হিসাবে আমি ব্যবহার করি:

`'\n

তাহলে স্ট্যাক মান True(আমরা একটি newline পড়ুন), যে কোড মাধ্যম: না ( `) স্ট্যাক (উপর একটি অক্ষর আক্ষরিক করা '), যা একটি newline হল: \n

যদি স্ট্যাকের মান হয় False(আমরা একটি নতুন লাইন পড়িনি), এর কোডটির অর্থ: (( ) একটি অক্ষর অক্ষর ( ) পড়বেন না । তার মানে পরবর্তী অক্ষর কমান্ড হিসাবে কার্যকর করা হয়। ভাগ্যক্রমে, একটি ব্যাকস্ল্যাশ পরের কমান্ড থেকে পালিয়ে যায় (এটি এটি কার্যকর করে যাতে এটি কার্যকর করা হয়), সুতরাং কোনও নতুন লাইন মুদ্রণ করে না (যা কী`'nn সাধারণত এটি করে)।

কোডের বাকি অংশটি সোজা; আমরা স্ট্যাকের চরিত্রটিকে এর ইউনিকোড কোডপয়েন্টের পূর্ণসংখ্যায় রূপান্তর করি (o ), আমরা ধাক্কা একটি আক্ষরিক সেমিকোলণ ( ';), সংখ্যাবৃদ্ধি স্ট্রিং (সঙ্গে সংখ্যা *, পাইথন মত), pফলাফলের দ্রণ একটি আক্ষরিক ধাক্কা ( ') #, pএটা দ্রণ খুব, এবং ফিরে যানO শক্ত হাতে ।

-Fআপনি যদি তাত্ক্ষণিক ফলাফলগুলি দেখতে চান (তবে বাফারিং করুন) তবে এটি ছাড়াও কার্যকর হয় with


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

বেফুঞ্জ -98 (এফবিবিআই) , 23 17 10 বাইট

-5 বাইট জো কিংকে ধন্যবাদ জানায় ।

"#@~k:*k,;

এটি অনলাইন চেষ্টা করুন!


1
@ জোকিং অনেক ধন্যবাদ আমি আরও দুটি বাইট গল্ফ করতে সক্ষম ছিল। এটি এখন পাইথ, হুস্ক এবং সিজেমের সাথে সমান!
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আর ; আর eshape) একটি সেমিকোলন

#',¨⍨ প্রতিটি স্ট্রিংয়ে একটি হ্যাশ যুক্ত করুন


2

রুবি, 28 25 বাইট

24 বাইট, -nবার বার চালু করতে কমান্ড লাইনটি স্যুইচ করুন stdin

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

3 বাইট সংরক্ষণ করা (এবং নিউলাইনগুলিতে আউটপুট সংশোধন করা হয়েছে!) মানটওয়ার্ককে ধন্যবাদ।


আপনি ব্যবহার এড়াতে পারে .ordচরিত্র কোড সঙ্গে সরাসরি কাজ করে: $_.bytes{|b|$><<?;*b+?#}। পার্থক্য রয়েছে: এটি একটি ইনপুটটিতে নতুন লাইনটি এনকোড করে। প্রশ্নের মালিক কী বলতে চেয়েছেন তা নিশ্চিত নয় "এটিতে কেবল ছাপার যোগ্য এএসসিআইআই অক্ষর এবং নিউলাইনগুলি থাকবে” "তবে আমার কাছে নতুন লাইনের মতোও এনকোড হওয়া উচিত বলে মনে হচ্ছে।
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.




আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.