চিঠির গতি


43

ইনপুট হিসাবে একটি স্ট্রিং দেওয়া, স্ব স্ব বর্ণমালা সূচক দ্বারা ডানদিকে ঠেলা প্রতিটি অক্ষর সহ একটি নতুন স্ট্রিং মুদ্রণ করুন।

আমরা সকলেই জানি যে A একটি ধীর এবং জেড একটি দ্রুত অক্ষর। এর অর্থ হ'ল 25 স্পেস দ্বারা জেড ডানদিকে স্থানান্তরিত হয়, এ মোটেও স্থানান্তরিত হয় না এবং খ 1 স্থান দ্বারা স্থানান্তরিত হয়।

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

মনে রাখবেন যে স্থানান্তরিত হওয়ার পরে যদি 2 বা ততোধিক অক্ষর একই জায়গায় পড়ে যায় তবে সর্বশেষ অক্ষরটি ব্যবহৃত হবে। (উদাহরণ: BA->  A)

উদাহরণ

"AZ" -> "A                         Z"

"ABC" -> "A B C"

"ACE" -> "A  C  E"

"CBA" -> "  A"

"HELLOWORLD" -> "     E H    DLL   OLO   R  W"

বিধি

  • এটি , সুতরাং যে কোনও ভাষার বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।

  • স্ট্রিং হিসাবে ইনপুট অবশ্যই গ্রহণ করতে হবে।

  • আপনি ফলাফল মুদ্রণ করতে stdoutবা একটি স্ট্রিং ফিরে আসতে পারেন।
  • একটি একক পেছনের সাদা স্থান এবং / অথবা নিউলাইন অনুমোদিত।
  • আপনি ইনপুট বা আউটপুট হিসাবে ছোট হাতের অক্ষরও ব্যবহার করতে পারেন তবে কেবল দুটি ক্ষেত্রেই ব্যবহার করতে পারেন।

শুভ্রবিন্দু ঠিক আছে?
Okx

@ ওক্স হ্যাঁ, আমার আগের মন্তব্যটি নোট করুন।
ইয়ান এইচ।

1
অনেক পিছনে স্থান সম্পর্কে কী?
Okx

1
@ অক্স নিষিদ্ধ, আপনি যা পান তা সবই।
ইয়ান এইচ।

আমি ধরে নিলাম এর পরিবর্তে আমরা ছোট হাতের অক্ষর ব্যবহার করতে পারি?
মিঃ এক্সকডার

উত্তর:



11

এমএটিএল , 11 বাইট

''jtfy65-+(

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

এমএটিএল সূচক 1-ভিত্তিক। এই গল্ফিং ট্রিকটি এখানে ব্যবহৃত হয়। এই অন্যটি ব্যবহার করা যাবে না কারণ আমাদের একটি খালি স্ট্রিং দরকার, খালি সংখ্যার অ্যারে নয়।

'ACE'উদাহরণ হিসাবে ইনপুট বিবেচনা করুন । স্ট্যাকের সামগ্রীগুলি নীচে থেকে উপরে দেখানো হয়েছে।

''     % Push empty string
       %   Stack: ''
j      % Input string
       %   Stack: '', 'ACE'
t      % Duplicate
       %   Stack: '', 'ACE', 'ACE'
f      % Indices of nonzero entries. Gives [1 2 ... n] where n is input length
       %   Stack: '', 'ACE', [1 2 3]
y      % Duplicate from below
       %   Stack: '', 'ACE', [1 2 3], 'ACE'
65     % Push 65
       %   Stack: '', 'ACE', [1 2 3], 'ACE', 65
-      % Subtract, element-wise. Characters are converted to codepoints
       %   Stack: '', 'ACE', [1 2 3], [0 2 4]
+      % Add, element-wise
       %   Stack: '', 'ACE', [1 4 7]
(      % Fill string '' with values 'ACE' at positions [1 4 7]. The original
       % empty string is extended. Non-existing values are filled with char 0,
       % which is displayed as space. Implicitly display
       %   Stack: 'A  C  E'

5
(: চমৎকার
বিল্টিন

@ এরিকথ আউটগল্ফার আমার কি মনে হয় এটি 05AB1E এর মতো ǝ? আহ, তবে দ্বিতীয় / তৃতীয় ইনপুটগুলিকে ভেক্টরাইজ করা হবে বলে মনে হচ্ছে না
লুইস মেন্ডো

1
ঠিক কেন এটি অনন্য: পি এবং এছাড়াও এমএটিএল কীভাবে স্বয়ংক্রিয়ভাবে পূরণ করে 0এবং 0স্থান হিসাবে প্রদর্শন করে।
এরিক দ্য আউটগল্ফার

1
@ লুইস মেন্ডো চমৎকার উত্তর। কৌতূহলের বাইরে এবং এই প্রশ্নটি সম্ভবত বেশিরভাগ স্ট্যাক ভিত্তিক ল্যাংগুলিতে প্রযোজ্য, আপনি এমএটিএল-এ লেখার সময় আপনার নিজের মতো স্ট্যাকের (যেমন, কোডের উপরে একটি লাইনে বা কাগজের টুকরো ইত্যাদির) ট্র্যাক রাখা দরকার? কোড রচনা? বা আপনার পক্ষে এতটা স্বাভাবিক হয়ে উঠেছে যে আপনি তা করেন না?
জোনা

1
হি - আজ নতুন কিছু শিখেছে; আপনি এমএটিএল (এবি) এর কোনও সমস্যা ছাড়াই দু'বার একই অবস্থানে সূচি রাখতে পারেন। আমি ইতিমধ্যে একটি জটিল লুপ-ভিত্তিক উত্তর লিখতে শুরু করেছি কারণ আমি ধরে নিয়েছিলাম এটি অন্যথায় ত্রুটি দেয়।
সানচাইজস

7

আর , 140 133 129 74 বাইট

প্রত্যেকের মতো ASCII মান পদ্ধতির পোর্টিং করে এক টন বাইট সংরক্ষণ করা হয়েছে। দু: খিত আমি এর আগে ভাবিনি :(

function(s){F[X-65+1:sum(X|1)]=X=utf8ToInt(s)
F[is.na(F)]=32
intToUtf8(F)}

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

আসল উত্তর, 129 বাইট:

function(s){o=rep(' ',(n=nchar(s))+25)
for(i in 1:n){k=substr(s,i,i)
o[x<-i+match(k,LETTERS)-1]=k
F=max(F,x)}
cat(o[1:F],sep='')}

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

oস্পেসগুলির একটি দীর্ঘ-দীর্ঘ তালিকা তৈরি করে, তারপরে পুনরাবৃত্তি করে s, মানগুলি oসঠিক মান এবং আপডেট Fকরার সাথে ডানদিকের অক্ষরের অবস্থান। তারপরে কোনও বিভাজনকারী না করে প্রথম Fউপাদানগুলি মুদ্রণ oকরে।


6

05 এ বি 1 ই , 20 16 বাইট

-4 বাইট ধন্যবাদ এমিগিনার কাছে

ð₄×svyAuykN+ǝ}ðÜ

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


1
আমি মনে করি আপনি ð₄×svyAuykN+ǝ}ðÜকমপক্ষে সংক্ষিপ্ত করতে পারেন । এছাড়াও, কোনও গ্যারান্টি আছে যে ইনপুট স্ট্রিংটি স্থানান্তরিত 1000 অক্ষরের চেয়ে বেশি নয়? যদি না হয়, g₂+ð×কাজ করা উচিত।
এমিগানা

6

জাভাস্ক্রিপ্ট (ES6), 81 বাইট

s=>[...s].map((c,i)=>a[i+parseInt(c,36)-10]=c,a=[])&&[...a].map(c=>c||" ").join``

কিছুটা রিক হিচককের অসম্পূর্ণ উত্তরটি তৈরি করে তবে শেষ হয়ে গেল অন্যরকম।

অক্ষরগুলিকে একটি খালি অ্যারের স্ব স্ব সূচিতে স্থান দেয়, তারপরে [...a]অনুপস্থিত উপাদানগুলিকে রূপান্তর করতে অ্যারে স্প্রেড ( ) ব্যবহার করে undefined, mapফাঁকা উপাদানগুলিকে একটি স্থানের সাথে প্রতিস্থাপনের অনুমতি দেয় ।

পরীক্ষার মামলা


খুব সুন্দর! আমি একটি 88-বাইট সমাধান পোস্ট করতে যাচ্ছিলাম, তবে আপনার চেয়ে আরও ভাল।
রিক হিচকক

5

পার্ল 5, 42 বাইট

41 বাইট কোড +1 এর জন্য -p\x1bকোডে গুলি আক্ষরিক পালাবার অক্ষর।

কার্সারটি অবস্থান করতে এএনএসআই পলায়নের ক্রমগুলির উপর নির্ভর করে এবং তাই টিআইওতে কাজ করে না।

s/./($-=-65+ord$&)?"\x1b[$-C$&\x1b[--$-D":$&/ge

ব্যবহার

perl -pe 's/./($-=-65+ord$&)?"\x1b[$-C$&\x1b[--$-D":$&/ge' <<< 'HELLOWORLD'
     E H    DLL   OLO   R  W

1
এটি এখানে টিআইওতে কাজ করে তবে আরও একটি বাইটে আসে (41 বাইট কোডের জন্য + 2 -F): এটি অনলাইনে চেষ্টা করুন!
এক্সকালি

1
@ এক্সকালি আপনার পোস্ট করা উচিত যাতে আমি এটিকে উজ্জীবিত করতে পারি :)
লিন

1
লিনের সাথে @ এক্সকালি সম্মতি জানায় খুব বেশি পোস্ট দুর্দান্ত। আমিও ভাষা প্রতিযোগিতা পছন্দ করি!
ডম হেস্টিংস



4

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

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

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

ব্যাখ্যা

,[                    Take input and start main loop
  [-<+<+>>]             Make two copies of input byte
  ----[----<<->>]<<-    Subtract 64 from one of them to get position in alphabet

                        There are two zero cells between the input and the
                        remaining output cells; we wish to move these zeroes
                        to indicate where the letter is to be moved

  [                     A number of times equal to the position in the alphabet:
    [>]                   Go to current position in output string
    >++++>                Create 4 (as part of creating a space if needed)
    [-<[-]<+>>]           Move output byte back two cells; zero the previous 4 if output existed
    <[-<++++++++>]        Otherwise move a space (32) into that position
    <[<]>-                Move back to counter and decrement
  ]
  >[>]<[-]              Delete last moved byte to make room for input byte
  +[<]>-                Initialize slot at 1 so it is always nonzero in this loop
  [[>]<+[<]>-]          Move input byte into slot
  >.[-]                 Output next output byte and clear
  >[>]<                 Move to space vacated in preparation to remove gap
                        (Moves to end instead if input was A; this causes no problems)
  [[->>+<<]<]           Move values two cells right until zero reached
  >,                    Get into position and take another byte of input
]
>>[.>]                Output characters beyond end of input




2

জাপট , 23 বাইট

;iB ç
Ng £=hX10nY+XnG
U

এটি অনলাইন পরীক্ষা!

প্রথম প্রচেষ্টা, অসম্পূর্ণ হতে পারে ...


দেখে মনে হচ্ছে আপনার Vপরিবর্তে প্রাথমিক স্ট্রিংটি অর্পণ করে একটি বাইট সংরক্ষণ করতে সক্ষম হবেন U: ethproductions.github.io/japt/…
শেগি

2

ওল্ফ্রাম ভাষা (গণিত) , 76 বাইট

SparseArray[Reverse@MapIndexed[#&@@#2+LetterNumber@#-1->#&,#]]<>""/. 0->" "&

ইনপুট হিসাবে অক্ষরের একটি তালিকা নেয়। এটি কিছু ত্রুটি বার্তা উত্পন্ন করে যা উপেক্ষা করা নিরাপদ।

আমি ব্যবহারের সহজতার জন্য টিআইও লিঙ্কের ফুটারে অন্তর্ভুক্ত করেছি Printএবং Characterকমান্ড করেছি। ( Characterকমান্ড কেবল স্ট্রিংকে অক্ষরের তালিকায় রূপান্তর করে)

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


LetterNumberবর্ণমালায় একটি বর্ণের অবস্থান সন্ধানের জন্য কি অন্তর্নির্মিত? পবিত্র জঞ্জাল, এটি হাস্যকর।
নম্বরমানিয়াক

2

জে, 37 31 বাইট

[`]`(' '#~(1+>./)@])}(i.@#+65-~a.&i.)

[`]`(' '#~(1+>./)@])}#\-66-3&u:

-6 বাইট ধন্যবাদ ফ্রাউনফ্রোগের জন্য

ব্যাখ্যা

পুরো জিনিস হুক:

[`]`(' '#~(1+>./)@])}  #\-66-3&u:

ডান দিকটি সমস্ত অক্ষরের জন্য নতুন সূচী গণনা করে।

বাম পাশে সংশোধন এর ক্রিয়াবাচক বিশেষ্যপদ ফর্ম ব্যবহার }প্রথম স্পেস প্রয়োজনীয় সংখ্যা একটি স্ট্রিং তৈরি করতে: (' '#~(1+>./)@])। এবং তারপরে মূল স্ট্রিংয়ের প্রতিটি অক্ষরকে সর্ব-স্থানের স্ট্রিংয়ের মধ্যে যথাযথ সূচকে স্থাপন করতে।

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


(i.@#+65-~a.&i.)-> (i.@#+65-~3&u:)-> (i.@#-65-3&u:)-> (#\-66-3&u:)
ফ্রাউনফ্রগ

আপনি প্রথম বন্ধনীও ফেলে দিতে পারেন।
ফ্রাউনফ্রোগ

পুনঃটুইট আমি এই দুটি গল্ফ কৌশল সম্পর্কে ভুলে যেতে চাই
জোনাহ

(]' '#~1+>./)
মাইল মাইল

@miles। খুশী হলাম। আমার নিয়মিত টুলবক্সের ডায়াডিক হুকস তৈরি করা দরকার, আমি লক্ষ্য করেছি যে আপনি এগুলি আজ সকাল থেকেই সেই সংশোধনীতে ব্যবহার করেছেন।
জোনা


2

হাস্কেল, 88 বাইট

f s|q<-zipWith((+).fromEnum)s[0..]=[last$' ':[c|(c,i)<-zip s q,i==p]|p<-[65..maximum q]]

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

qইনপুট স্ট্রিংয়ের অক্ষরের চূড়ান্ত সূচকের তালিকা (অফসেট সহ 65)। সমস্ত সূচকের মধ্য দিয়ে লুপ করুন (শুরু করে 65) এবং এর জন্য সমস্ত অক্ষর সন্ধান করুন, একটি স্থান প্রিপেন্ড করে। শেষ নিন।


1
তবুও অন্য 88 বাইট হাস্কেল সমাধান, এখানে এবং এখানে দেখুন
নিমি

2

সি # (.নেট কোর) , 117 110 84 বাইট

আইব 4 টি-তে 7 বাইট সংরক্ষণ করা হয়েছে

26 টি বাইট সংরক্ষণ stringকরতে রিটার্নের ধরন পরিবর্তন করা char[]হয়েছে।

n=>{int i=0,l=n.Length;var t=new char[l+26];for(;i<l;)t[i+n[i]-65]=n[i++];return t;}

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


আপনি পরিবর্তন করে 7 বাইট সংরক্ষণ করতে পারবেন t[i+((int)n[i]-65)]করার t[i+n[i]-65]
আইয়ব

@ আইবি 4 বিটিউ ধন্যবাদ ভুলে গেছেন যে char -> intরূপান্তরগুলি অন্তর্ভুক্ত।
ইয়ান এইচ।

2

সি #। নেট, 89 বাইট 87 বাইট

-2 বাইট ল্যান এইচ ধন্যবাদ

f=>{var s=new char[f.Length+26];for(int i=0;i<f.Length;i++)s[f[i]+i-65]=f[i];return s;}

অনলাইনে চেষ্টা করে দেখুন!


সাইটে স্বাগতম! :)
ডিজেএমসিএমহেম

ধন্যবাদ! আমি আশা করি একই ভাষায় একাধিক উত্তর পোস্ট করা ঠিক আছে
এমিলিয়ানো

আপনি for-2 বাইটের জন্য আপনার লুপের কোঁকড়া বন্ধনীগুলি বাদ দিতে পারেন ।
ইয়ান এইচ।

2

কোটলিন, 207 বাইট 189 বাইট 187 বাইট 177 বাইট

fun main(){val i=(readLine()+" ".repeat(26)).toCharArray();for(x in(i.size-1) downTo 0){if(i[x]!=' '){i[x+i[x].toInt()-65]=i[x];i[x]=' '}};print(i.joinToString("").trim())}

যদি নেতৃস্থানীয় ফাঁকা থাকে তবে আমি কেবল trimEnd()তার পরিবর্তে কল করব trim()

Unminified:

fun main() {
    val m = (readLine() + " ".repeat(26)).toCharArray()
    for (x in (m.size - 1) downTo 0) {
        if(m[x] != ' ') {
            m[x + m[x].toInt() - 65] = m[x]
            m[x] = ' '
        }
    }

    print(m.joinToString("").trim())
}

কোড গল্ফিংয়ের জন্য সম্ভবত কোটলিন সেরা ভাষা নয় তবে আমি চ্যালেঞ্জটি পছন্দ করেছি এবং কোটলিনের স্ট্যান্ডার্ড লাইব্রেরির সাথে নিজেকে আরও পরিচিত করতে চেয়েছিলাম।


1

কিউ / কেডিবি +, 37 বাইট

সমাধান:

@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:

উদাহরণ:

q)@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:"AZ"
"A                         Z"
q)@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:"ABC"
"A B C"
q)@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:"ACE"
"A  C  E"
q)@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:"CBA"
"  A"
q)@[max[1+m]#" ";m:!:[x#:]+.Q.A?x;:;]x:"HELLOWORLD"
"     E H    DLL   OLO   R  W"

ব্যাখ্যা:

আমি মনে করি এটি জে সলিউশন হিসাবে একই ধারণা, ইনপুট অ্যারের জন্য সঠিক সূচকগুলি গণনা করুন এবং তারপরে তাদের সঠিক দৈর্ঘ্যের একটি খালি স্ট্রিং এ নিয়োগ করুন:

@[max[1+m]#" ";m:til[count x]+.Q.A?x;:;]x: / ungolfed solution
                                        x: / save input as x
@[            ;                     ; ;]   / apply[variable;indices;function;parameters]
                                     :     / assignment
                              .Q.A?x       / location of x in uppercase alphabet
                             +             / added to
                     count x               / length of input
                 til[       ]              / range, 0..n
               m:                          / save as m
  max[   ]                                 / maximum of list
      1+m                                  / m + 1
          #" "                             / take " ", creates empty character list

1

Jq 1.5 , 91 বাইট

reduce(explode|[.,keys]|transpose[]|.[1]+=.[0]-65)as[$c,$p]([];.[$p]=$c)|map(.//32)|implode

সম্প্রসারিত

  reduce(  explode         # convert string to array of ordinals
         | [.,keys]        # [ [v0,v1,...], [0,1,2,...] ]
         | transpose[]     # [ [v0,0], [v1,1], [v2,2]...]
         | .[1]+=.[0]-65   # adjust position of each value
  ) as[$c,$p] (
    []
  ; .[$p]=$c               # store each value at its position
  )
| map(.//32)               # map null values to spaces
| implode                  # convert back to string

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


1

কাঠকয়লা , 16 বাইট

P FS«M⌕αι→ιM⌕αι←

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

P                   Output a space to force the indent
   S                Input string
  F «               Loop over each letter
       α            Uppercase letters predefined variable
      ⌕ ι           Find index of current letter
     M   →          Move that many characters right
          ι         Implicitly print the current letter
           M⌕αι←    Move the same number of characters left

1

এপিএল (ডায়ালগ) , 26 বাইট

বেনামে উপসর্গ লাম্বদা যা ইনপুট স্ট্রিংকে আর্গুমেন্ট হিসাবে গ্রহণ করে এবং আউটপুট স্ট্রিং প্রদান করে। ধরে নেওয়া ⎕IO( I ndex O rigin) 0, যা অনেক সিস্টেমে ডিফল্ট।

{⍵@i''↑⍨1+⌈/i←(⎕A⍳⍵)+⍳≢⍵}

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

{... } নামবিহীন ল্যাম্বদা; যুক্তি উপস্থাপন করে

≢⍵ তর্ক তাত্ক্ষণিক

 অনেকগুলি তুলনায় gers ntegers (0… দৈর্ঘ্যআফআরগমেন্ট -১)

()+ প্লাস:

  ⎕A⍳⍵ বড় হাতের অক্ষরে যুক্তিটির সূচকগুলি একটি লিফাবেট

i← স্টোর ইন i( i ndices জন্য)

⌈/ সর্বাধিক (হ্রাস)

1+ এক যোগ কর

''↑⍨ খালি স্ট্রিং থেকে অনেকগুলি অক্ষর নিন, প্রয়োজনীয় স্থানগুলির সাথে প্যাডিং করুন

 ফলন যে (পৃথক iথেকে পরিবেশন করা '')

⍵@i সংশোধন করে যুক্তি বর্ণ দিয়ে i সূচকের



1

পাইথ , 44 38 বাইট

স্ট্রাইক আউট 44 এখনও 44 :(

রক্তাক্ত পাইথের সূচনা

@ মিঃ কে 6 টি বাইট সংরক্ষণ করা হয়েছে Xcoder।

K*d+lz26Vlz K=XK-C@zN-65N@zN;.WqeHdPZK

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


কিভাবে?

K*d+lz26Vlz K=XK-C@zN-65N@zN;.WqeHdPZK          Full program

K*d+lz26                                        Assign a string consisting of 
                                                  (26 + input.length) whitespaces to K
        Vlz                                     For-loop from 0 to input.length
                -C@zN-65N                       Calculate the index for the current letter
                         @zN                    The current letter
            K=XK                                Insert the current letter into K at
                                                  position i
                            ;                   End statement
                             .WqeHdPZK          While the last character of H is not a 
                                                  whitespace, pop the last character off K

38 বাইট: K*d+lz26Vlz K=XK-C@zN-65N@zN;.WqeHdPZK। (কার্যকরী) এবং এর অবশ্যই যুক্তি WqeKd K=PK;Kদ্বারা প্রতিস্থাপিত হয় .W, এবং FNrZlzপ্রতিস্থাপন করা যেতে পারে VrZlz, তবে এর rZ...অর্থ U..., এবং Uস্বয়ংক্রিয়ভাবে উত্পন্ন হয় V। তাই FNrZlzহয়ে যায়Vlz
মিস্টার এক্সকোডার

1

ব্যাচ, 418 331 বাইট

কেবলমাত্র বড় হাতের অক্ষর দিয়ে কাজ করে এবং দীর্ঘ স্ট্রিংয়ের জন্য কিছু সেকেন্ড সময় নেয়।

এখানে নতুন কৌশলগুলি শিখেছি, ASCII মান রূপান্তর ব্যবহার করে অক্ষর %=exitcodeAscii%। এছাড়াও, if definedএবং ব্যবহার করে "অ্যারে" অ্যাক্সেস call। এছাড়াও, প্রায় 100 বাইট দ্বারা গল্ফ করা ভাল ব্যাচ কোড গল্ফ প্রশিক্ষণ ছিল।

পিছনে স্থান নোট করুন set z=set

@echo off
setlocal EnableDelayedExpansion
set z=set 
%z%a=%1
:a
%z%v=64
:b
%z%/Av+=1
cmd/Cexit %v%
if %=exitcodeAscii% neq %a:~0,1% goto b
%z%/Ao=v+c
%z%a%o%=%a:~0,1%
if %o%. geq %m%. %z%m=%o%
%z%/Ac+=1
%z%a=%a:~1%
if %a%. neq . goto a
for /l %%n in (65,1,%m%)do (
if defined a%%n (call %z%r=%%r%%%%a%%n%%
)else %z%r=!r! )
echo %r%


1

আইবিএম পিসি ডস 8088 বিধানসভা ,34 33 বাইট

b403 cd10 be80 00ad 8bc8 32ed ac8b de02 d880 ebc4 8ad3 b402 cd10 b40e cd10 e2ec c3

অবরুদ্ধ (অবিচ্ছিন্ন):

    MOV  AH, 03H        ; get current cursor position row into DH
    INT  10H
    MOV  SI, 80H        ; point SI to PSP
    LODSW               ; fetch length into AL, increment SI to 82H
    MOV  CX, AX         ; move to CX
    XOR  CH, CH         ; clear CH
OUTPUT:
    LODSB               ; load DS:SI into AL
    MOV  BX, SI         ; input string offset into BX (so doesn't overwrite DH)
    ADD  BL, AL         ; add ASCII value of char
    SUB  BL, 'A'+83H    ; convert to numeric val (A=0, Z=25)
    MOV  DL, BL         ; DL is column number
    MOV  AH, 02H        ; BIOS set cursor position function    
    INT  10H            ; move to column
    MOV  AH, 0EH        ; BIOS display char function in AL
    INT  10H            ; write to screen
    LOOP OUTPUT
    RET                 ; return to DOS

এটি একটি সম্পূর্ণ পিসি ডস এক্সিকিউটেবল যা কমান্ড লাইন থেকে ইনপুট স্ট্রিং নেয় এবং স্ক্রিনে নতুন "দ্রুত" সংস্করণ প্রিন্ট করে। সর্বনিম্ন ডস 1.0 প্রয়োজন ... আশা করি আপনি কমপক্ষে এটি পেয়েছেন।

আউটপুট

A>SPEED.COM ABC
A B C
A>SPEED.COM AZ
A                         Z
A>SPEED.COM CBA
  A
A>SPEED.COM HELLOWORLD
     E H    DLL   OLO   R  W

0

পিএইচপি, 127 123 বাইট

function b($i){for($q=0;$q<strlen($i);$q++){$n[ord($i[$q])-65]=$i[$q];}while($x++<26){$m.=$n[$x-1]?$n[$x-1]:" ";}return$m;}

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

একটি বাগ ঠিক করতে হয়েছিল যা 'এ' আউটপুট দেয় না ...


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