এই শব্দটিতে স্বাক্ষর করুন!


12

একটি শব্দ স্বাক্ষর কি?

একটি শব্দ স্বাক্ষর এটা চিঠির সব আদেশ রাখা রয়েছে - এর স্বাক্ষর this, histএবং hitsসব hist

চ্যালেঞ্জ

একটি প্রোগ্রাম প্রোগ্রাম লিখুন কোনও ইনপুট চাইতে হবে, তারপরে সেই শব্দের স্বাক্ষরটি মুদ্রণ করে। সুতরাং একটি উদাহরণ প্রোগ্রাম চালানো এই মত হতে পারে:

Give me a string: this
The signature signature of 'this' is hist.

কোনও প্রয়োজনীয় ইন্টারঅ্যাকশন নেই, যতক্ষণ না এটি কোনও ইনপুট নেয় এবং স্বাক্ষরটি মুদ্রণ করে, ঠিক আছে।

স্কোরিং

ক্ষুদ্রতম বাইট গণনা সহ প্রোগ্রামটি জিতল!

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

চ্যালেঞ্জ শেষ!

উইনার: জিমি 23013


3
আমরা বাক্য প্রিন্ট করতে হবে না Give me a string:এবং The signature signature of 'this' isডান? আমরা কেবল সরাসরি ইনপুট নিতে পারি এবং ফলাফলটি মুদ্রণ করতে পারি?
অনুঘটক করুন

4
সদৃশ অক্ষরের কী হবে? যেমন স্বাক্ষর broom bmoorনাকি bmor?
সামগাক

3
@ আইস্যাকগ আপনি কেন?
টিম

3
@ টিম আমি মনে করি না যে আমাদের কাছে এমন চ্যালেঞ্জ থাকা উচিত যা এগুলি সোজা। আমি মেটাতে এটি সম্পর্কে জিজ্ঞাসা করব - এটি বিশেষত এই প্রশ্নটি সম্পর্কে সত্যই নয়।
isaacg

2
আমি মনে করি যদি আপনি বিল্ট-ইন বাছাইয়ের কাজগুলি ব্যবহার করতে না পারেন তবে এটি আরও আকর্ষণীয় চ্যালেঞ্জ হত।
গ্লেন ও

উত্তর:


49

গল্ফস্ক্রিপ্ট, 1 বাইট

$

হ্যাঁ, মাত্র 1 বাইট

এখানে চেষ্টা করুন।


4
সঠিক হিসাবে চিহ্নিত হয়েছে কারণ কেউ 1 বাইটকে বীট করতে পারে না।

9
@ কেএসএলকিঘ তত্ত্ব অনুসারে, কেউ হয়ত এমন একটি ভাষা খুঁজে পেতে পারেন যা 0 বাইটে এটি করতে পারে?
জিমি 23013

2
আমি বলব যে এটি "হ্যালো"
জেমস ওয়েবস্টার

3
মূলধনের সাথে কোনও কিছুর জন্য বিরতি বলে মনে হচ্ছে তবে অনুমান করুন এটি কখনই নির্দিষ্ট করা হয়নি
লাইন

1
মূলধনগুলি কোডটি ভঙ্গ করে না। এটি প্রথমে রাজধানীগুলি ছোট ছোট করে সাজায় orts অর্থাত্ সিবিএবিবিএফেড -> এবিসিবিসিডিএফ
মুলি

25

সি (x86 সহ), 61 বাইট

s[];main(){qsort(s,read(0,s,99),1,"YXZQQQ\x8a\x00*\x02\x0f\xbe\xc0\xc3");puts(s);}

সেই স্ট্রিংয়ে কাঁচা বাইট রয়েছে, প্রকৃত \x..কোড নয় এবং এটি একটি কাঁচা মেশিন কোড কলব্যাককে দিয়ে গেছে qsort। শুধুমাত্র x86 এ কাজ করে:

59         pop   ecx
58         pop   eax
5a         pop   edx
51         push  ecx
51         push  ecx
51         push  ecx
8a 00      mov   al,  BYTE PTR [eax]
2a 02      sub   al,  BYTE PTR [edx]
0f be c0   movsx eax, al
c3         ret

যা মূলত:

int func(char *a, char *b) { return *a - *b; }

শিনহ দ্বারা জাপানি ভাষায় এই পত্রিকাটির p6-7 দেখুন


এটি জেনেরিক সি ভাষা নয়, কারণ এটি একটি নির্দিষ্ট আর্কিটেকচারকে লক্ষ্য করে। এটি শিরোনামে নির্দিষ্ট করা উচিত
edc65

20

আটকে আছে, 4 বাইট

sc$d

এই ভাষাটি গতকালই উইকিতে নথিভুক্ত করা হয়েছিল! মিমি, টাটকা ইসল্যাংস।


1
সুন্দরভাবে সম্পন্ন! :)
কেড

19

আটকে আছে, 5 বাইট

আমি অবশেষে আমার ভাষা ব্যবহার করতে পারি, আটকে ! : ডি

s$""j

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

সম্পাদনা: ওহ বাহ, কেউ ইতিমধ্যে পোস্ট করেছে এবং আমার নিজের ভাষায় আমাকে মারধর করেছে!


16

GOTO ++, 432 430 বাইট

GOTO ++ প্রকল্প সাইট

niveaugourou 0
s=ENTRETONTEXTE()
§2 a=LeCaracNumero()&s *(1)
n=*(1)
costaud i=*(2)/&i infeg NombreDeLettres(&s)/i=+*(1)
b=LeCaracNumero()&s &i
GOTONULPOURLESNULS %1 }&b inf &a{
a=&b
n=&i
§1 faiblard
GOTOPRINTDUTEXTE()&a
t=PrendsUnMorceau()&s *(0) &n
u=PrendsUnMorceau()&s }&n+*(1){ *(0)
e=BOITEAPINGOUINS()&t &u
s=Marijuana()&e «»
GOTONONNULPOURLESNULS %3 }NombreDeLettres(&s) eg *(1){
GOTOPASMALIN %2
§3 GOTOPRINTDUTEXTE()&s

আমি কেন নিজের কাছে এটি এনেছি তা নিশ্চিত নয় তবে আমি তা করেছিলাম


13

জিএস 2, 1 বাইট

/

গল্ফস্ক্রিপ্ট উত্তর হিসাবে একই, কিন্তু gs2 বাছাইয়ের জন্য একটি পৃথক অপারেটর ব্যবহার করে।


10

পার্ল, 18 বাইট

print sort<>=~/./g

আমাকে 3 বাইট সংরক্ষণ করতে সাহায্য করার জন্য ডম হেস্টিংসকে ধন্যবাদ।


আপনি যদি একটি ব্যবহার করে একটি কয়েক বাইট সংরক্ষণ করতে পারবেন /./gপরিবর্তে split'',: print sort<>=~/./g!
ডম হেস্টিংস

সাথে -nE, আপনি করতে পারেন say sort/./g
ডেনিস




6

সি #, 114 110 টি অক্ষর

কমান্ড লাইন আর্গুমেন্ট থেকে ইনপুট নেয়। খুব ছোট প্রোগ্রাম নয়, তবে ভাল ... এটি সি #। : P: P

namespace System.Linq{class P{static void Main(string[]a){Console.Write(string.Concat(a[0].OrderBy(x=>x)));}}}

আব্বাসকে ধন্যবাদ 4 বাইট সঞ্চয় করার জন্য!


1
Writeপরিবর্তে ব্যবহার করে আপনি 4 টি অক্ষর সংরক্ষণ করতে পারেন WriteLine। ;)
আব্বাস

আব্বাস ধন্যবাদ! সম্পূর্ণরূপে
সেটিকে

6

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

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

এটি গণনা বাছাই অ্যালগরিদম ব্যবহার করে যা এটি একটি ও (এন) সমাধান করে।

কোডটির জন্য 8 বিট কোষের একটি বাম-অসীম বা মোড়ানোর টেপ দরকার। এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

,          Read a char from STDIN.
[          While the byte under the pointer (last read char) is non-zero:
  >>+        Move the pointer two steps to the right and increment.
  >>,        Move the pointer two steps to the right and read a char.
]
<<         Move the pointer two steps to the left.

           If the input was "sort", the tape now contains the following:
           0 0 115 0 1 0 111 0 1 0 114 0 1 0 116 0 1 0 0
                                                   ^

[          While the byte under the pointer is non-zero:
  [<<]       Advance two steps to the left until a null byte is encountered.
  >>         Advance two steps to the right.

             This will place the pointer on the first input character.

  [          While the byte under the pointer is non-zero:
    -          Decrement.
    [<]        Move the pointer to the left until a null byte is encountered.
    >>         Move the pointer two steps to the right.

               If the decremented character is non-zero, [<] will move to the
               null byte before it, so >> brings the pointer to the null byte
               after it. If the decremented character is zero, [<] is a no-op, so
               >> advances two steps to the right, to a non-zero byte.

    [          While the byte under the pointer is non-zero:
      .          Print the char under the pointer.
      <<-        Move the pointer two steps to the left and decrement.
      >          Move the pointer to the right.
    ]

               If the decremented character gave zero, this will print the value
               of the accumulator after it, and decrement the character once more
               to make it non-zero, then place the pointer to the right of the
               character, thus exiting the loop.

    >+         Move the pointer to the right and increment.

               This increments the accumulator each time an input character is
               decremented.

    >>         Move the pointer two steps to the right.

               This moves the pointer to the next character.
  ]
  <<         Move the pointer two steps to the left.

             This moves the pointer to the accumulator of the last character.
]

             After 255, th accumulator wraps around to 0, and the loop ends.

5

সিজেম, 2 বাইট

l$

ইনপুট ( l) এর একটি লাইন পড়ে এবং এটি সাজায় ( $)।





4

জাভা 8, 119 বাইট

এটি মূলত কেবলমাত্র সি # উত্তরের সাথে প্রতিযোগিতামূলক, কারণ, ভাল, জাভা।

(কমপক্ষে এটি জিওটিও ++ কে মারবে really আসলেই কোনও অর্জন নয় ...)

class C{public static void main(String[]s){s=s[0].split("");java.util.Arrays.sort(s);System.out.print("".join("",s));}}

1 বাইট সংরক্ষণের জন্য প্রোগ্রামফক্সকে ধন্যবাদ, 2 বাইট সংরক্ষণের জন্য রিঙ্ক.এটএন্ডেন্ডেন্ট।


আপনি String[]এবং এর মধ্যে স্থান সরিয়ে একটি চর সংরক্ষণ করতে পারেন s
ProgramFOX

ওহ, আমি সে সম্পর্কে ভুলে গেছি এখন আমার বাইট গণনা একটি দুর্দান্ত বর্গ সংখ্যা। ধন্যবাদ!
TheMadHaberdasher

আমি মনে করি আপনিSystem.out.printprintln
rink.attendant.6

ধন্যবাদ! কোড গল্ফে এটি আমার প্রথম প্রচেষ্টা, সুতরাং আমাকে এখনও এমন জিনিস শিখতে হবে।
TheMadHaberdasher

আপনি 12 অক্ষর সংরক্ষণ করতে পারেনpublic static void main(String[]s){s[0].chars().sorted().forEach(i->System.out.print((char)i));}
অ্যাসিলিয়াস


3

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

ডেমো কেবল লেখার সময় ফায়ারফক্স এবং এজে কাজ করে, কারণ ক্রোম / অপেরা ডিফল্টরূপে ES6 সমর্থন করে না:

সম্পাদনা: পোস্ট করার আগে আমি উত্তরগুলির দিকে তাকাতে পারি নি তবে এখন বুঝতে পেরেছি যে এটি নিনজাবারমোনকি-র মতো ঠিক একই রকম

f=x=>alert([...x].sort().join``)
<form action=# onsubmit='f(document.getElementById("I").value);return false;'>
  <input type=text pattern=\w+ id=I>
  <button type=submit>Sort letters</button>
</form>


2

এসডাব্লুআই-প্রোলগ, 34 বাইট

a(X):-msort(X,Y),writef("%s",[Y]).

যেমন বলা হয়:a(`this`).


2

স্কালা, 21 বাইট

print(args(0).sorted)

কমান্ড লাইনের উদাহরণ থেকে চালান:

$ scala -e "print(args(0).sorted)" this
hist


2

জুলিয়া, 21 বাইট

s->join(sort([s...]))

এবং মজাদার জন্য, 53 বাইটের জন্য আপনি কীভাবে এটি ইনবিল্ট বাছাই করা ফাংশনটি ব্যবহার না করে করতে পারেন তা এখানে:

f=s->s>""?(k=indmax(s);f(s[k+1:end]s[1:k-1])s[k:k]):s

2

জাভাস্ক্রিপ্ট, 34 বাইট

alert([...prompt()].sort().join``)

এটি এত দীর্ঘ হওয়ার কারণটি হ'ল জাভাস্ক্রিপ্ট কেবল অ্যারেগুলিকে বাছাই করতে পারে, সুতরাং স্ট্রিংটি অবশ্যই একটি অ্যারেতে বিভক্ত হয়ে বাছাই করা উচিত এবং তারপরে আবার স্ট্রিংয়ে যোগ দিতে হবে। এটি ECMAScript 6; ES5 এর সমতুল্য হ'ল:

alert(prompt().split('').sort().join(''))

ইকামাস্ক্রিপ্ট specify উল্লেখ করা উচিত কারণ এটি ব্যবহার করছে ...এবং টেমপ্লেট স্ট্রিংগুলি
edc65

@ edc65 আপনি ঠিক বলেছেন, আমি ভুলে গেছি। সম্পন্ন.
নিনজা বিয়ারমনেকি

1

পাইথন 2, 33 32 বাইট

print`sorted(raw_input())`[2::5]

@ কমহামেহের জবাব থেকে ভারী অনুপ্রাণিত। অজগর 2 এ রূপান্তরিত হয়েছে g


1
আপনি reprএটিকে অন্য বাইটটি নামিয়ে আনতে ব্যবহার করতে পারেন (এখন আপনি জানেন যে আমি কেন সমাধানটির পাইথন 3 সংস্করণ বেছে নিয়েছি: পি) - print`sorted(raw_input())`[2::5](এগুলি ব্যাকটিক্স, একক উদ্ধৃতি নয়)
কামেমেহেহা

1

এপিএল, 7 টি অক্ষর

আমার জন্য ngn-apl এ কাজ করে না, তবে তত্ত্ব অনুসারে কাজ করা উচিত:

X[⍋X←⍞]

স্ট্যান্ডার্ড ইনপুট থেকে একটি লাইন পড়ে, যা নির্ধারিত হয় X⍋Xসূচকগুলি হ'ল Xযা একটি আরোহী ক্রম দেয় এবং X[...]প্রকৃতপক্ষে Xএই সূচকগুলি অনুসারে বাছাই করে।


1
ডায়ালাগে কাজ করে (ডেস্কটপ সংস্করণ, ট্রাইএপিএল নয়)।
অ্যালেক্স এ।

1

জাভাস্ক্রিপ্ট, 54 বাইট

নোড সহ JS ফাইল কল

console.log(process.argv[2].split('').sort().join(''))


1

নিম, 102 101 79 73 বাইট

let s=stdin.readAll
for i in 1..'~':
 for j in s:(if i==j:stdout.write j)

এখনও নিম শিখছে এবং গল্ফের কৌশলগুলি কাজ করছে। স্পষ্টতই বিল্টিন ব্যবহার না করা ভাল sort, যার জন্য প্রচুর আমদানি প্রয়োজন (ধন্যবাদ @ মরিস)


let s=stdin.readAll;for i in 1..'~':(for j in s:(if i==j:echo j))65 বাইট হয়।
লিন

@ মরিস বাহ, আমি মনে করি নি যে বিল্টিন সাজ বাছাই না করা আরও কম হবে! শুধুমাত্র সমস্যা যদিও - echoনতুন লাইনের পিছনে ছাড়া উপায় আছে ?
Sp3000

ওহ, অবশ্যই। stdout.write jদেখে মনে হচ্ছে এটি আপনার &=লুপের চেয়ে সামান্য খাটো ।
লিন

@ মরিস প্রকৃতপক্ষে, এটি কার্যকর বলে মনে হচ্ছে - ধন্যবাদ :)
এসপি 3000

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