এটি সেই ধরণের চ্যালেঞ্জ যা বাইট করে


32

আমার পেনি নাম ভাবতে হবে না

আপনার কাজটি হ'ল যতগুলি স্নিপেট (যে প্রোগ্রামগুলিতে ইনপুট এবং আউটপুট অন্তর্নির্মিত রয়েছে), ফাংশন বা সম্পূর্ণ প্রোগ্রামগুলি তৈরি করা যা আপনার ভাষার পূর্ণসংখ্যার অ্যারেগুলির সংস্করণটি আরোহণের ক্রম অনুসারে সাজায় তবে প্রতিটি প্রোগ্রামের জন্য আপনাকে কেবল অনুমতি দেওয়া হয় পূর্ববর্তী প্রোগ্রামগুলিতে ব্যবহৃত হয়নি এমন এএসসিআইআই (বা আপনার ভাষার কোড পৃষ্ঠাটি যদি এটি সরাসরি ASCII হিসাবে নির্দিষ্ট না করা হয়) তে অক্ষরগুলি ব্যবহার করতে হয়।

এটি একটি উদাহরণের উত্তর (নিউলাইন দ্বারা পৃথক পৃথক প্রোগ্রাম):

Derp
ASdFGHJKLAAA
qwEEERtyRty

এই (কাল্পনিক ভাষা) আমার প্রথম উত্তর Derp, আপ ব্যবহার করা হয় যা D, e, rএবং p। দ্বিতীয় প্রোগ্রামে, আমাকে আবার সেই চরিত্রগুলি ব্যবহার করার অনুমতি নেই, তবে আমি যতগুলি চরিত্র চাই তা পুনরায় ব্যবহার করতে পারি। তৃতীয় প্রোগ্রামের সাথে একই রকম, ইত্যাদি।

প্রতিটি প্রোগ্রামকে অবশ্যই পূর্ণসংখ্যার অ্যারে নিতে হবে, সুতরাং এর মতো কিছু (বৈধ ইনপুট / আউটপুট শৈলীর জন্য ইনপুট / আউটপুট উদাহরণগুলি দেখুন):

[3 4 -2 5 7 196 -44 -2]

এবং এটি অবশ্যই অ্যারের আইটেমগুলিকে একটি অ্যারে হিসাবে আউটপুট করতে হবে:

[-44 -2 -2 3 4 5 7 196]

আপনার স্কোর জমা দেওয়ার মোট পরিমাণ হবে। যদি কোনও টাই থাকে তবে সর্বনিম্ন বাইটকাউন্ট (আপনার কোডে ন্যূনতম পরিমাণ বাইট) জয়!

প্রোগ্রামগুলির বিধি:

  • সমস্ত সাবমিশন অবশ্যই একটি ভাষার সংস্করণে সঠিকভাবে চলতে হবে (তাই Python 2 != Python 3)।
  • আপনার জমাগুলি স্নিপেট, ফাংশন বা সম্পূর্ণ প্রোগ্রাম হতে পারে। এমনকি আপনি সেগুলি মেশাতে এবং মেলাতেও অনুমতি পেয়েছেন - তবে আপনাকে অবশ্যই বলতে হবে যা কোনটি, এবং কার্যকরী জমা দেওয়ার লিঙ্ক সরবরাহ করে provide
  • সম্ভব হলে সমস্ত সমাধানের জন্য অনলাইন লিঙ্কগুলি সরবরাহ করুন।
  • সমস্ত জমাটি অবশ্যই একটি অ্যারে (বা কোনও অক্ষরের সাথে সীমাবদ্ধ একটি স্ট্রিং) ইনপুট হিসাবে নিতে হবে এবং {any character}আরেটিকে সাজানো আউটপুট করতে হবে (আপনার ভাষার অ্যারে ফর্মে বা একটি- বিভক্ত স্ট্রিং হিসাবে) ।
  • আপনাকে ASCII (বা আপনার ভাষার কোড পৃষ্ঠা) এর বাইরে কোনও অক্ষর ব্যবহার করার অনুমতি নেই।

উদাহরণস্বরূপ, এগুলি বৈধ ইনপুট / আউটপুট:

[1 2 3 4]    (Clojure style arrays)
[1, 2, 3, 4] (Python style arrays)
1 2 3 4 5    (Space-delimited - separated by spaces)
1#2#3#4#5    ("#"-delimited - separated by "#" characters)
1\n2\n3\n4\n (newline-delimited)

ইনপুট জন্য চশমা:

  • আপনার গ্যারান্টিযুক্ত যে অ্যারেতে কেবল পূর্ণসংখ্যা রয়েছে। তবে, নেতিবাচক সংখ্যা থাকতে পারে এবং সংখ্যাগুলি অনির্দিষ্টকালের জন্য পুনরাবৃত্তি করতে পারে।

13
আরও পাংস আরও ভাল!

5
আপনি যে কেউ Brainfuck মধ্যে এই সমস্যা সমাধানের বিরক্ত করা যাবে একটি পায় উপলব্ধি Lenguage স্কোর 128 সঙ্গে সমাধান? বিকল্পভাবে, একটি একক গ্লিফো সমাধান 42 স্কোর করতে পারে
মার্টিন এন্ডার

1
@ কিউয়ার্প-ডের্প হয়ত কিছুটা ক্লান্তিকর তবে অবশ্যই কার্যকর। আসলে, আমি প্রত্যাশা করি আমি / ও সবচেয়ে বিরক্তিকর অংশ হয়ে উঠি (যদি আপনি অক্ষর কোডের তালিকা হিসাবে ইনপুট পড়ার অনুমতি না দেন)।
মার্টিন ইন্ডার

1
@ ওয়েট উইজার্ড আমি চ্যালেঞ্জটি ASCII নির্দিষ্ট করে যেহেতু কেবলমাত্র 128 টি উপলব্ধ অক্ষর গণনা করছি।
মার্টিন এন্ডার

2
ভাষার সীমাবদ্ধতায় আমার 3 টি সমস্যা রয়েছে। (১) ভাষার চলনক্রমিক শ্রেণীর উপর নিষেধাজ্ঞাগুলি সীমাবদ্ধ করা কারণ এগুলি চ্যালেঞ্জে ভাল হবে মজাদার নয় ((২) জাভাস্ক্রিপ্টের মতো বেশিরভাগ "নরমাল" প্রোগ্রামিং ভাষার (যার উত্তর ইতিমধ্যে রয়েছে) প্রয়োজনীয়তা পূরণ করে না, এটি অবশ্যই নয় সীমাবদ্ধতার অভিপ্রায় এবং আবারও মজা নয়। (3) আমি মনে করি এটি সত্যিই পর্যবেক্ষণযোগ্য প্রয়োজন। "সুনির্দিষ্ট ফাংশন" খুব পর্যবেক্ষণযোগ্য নয়, আমি বিমূর্ততার বেশ কয়েকটি স্তরের মাধ্যমে তর্ক করতে পারি যে গ্লাইফো চরিত্রগুলির অবশ্যই নির্দিষ্ট ফাংশন রয়েছে যা গোপন ভেরিয়েবলগুলির সেটগুলিতে কাজ করে।
গম উইজার্ড

উত্তর:


15

জেলি , 10 টি প্রোগ্রাম, 65 বাইট

Ṣ
¹Þ
Ụị
Œ!Ṃ
7778Ọv
Ẋ>2\S$¿
ĠFḣṪ¥@€
~Ṁ~rṀxLœ&
C»/ð+ÆNPÆfÆC_ḷ
<þḅ1‘WiþJḄ³ṫZḢ

@ লিনের জেলি উত্তরটির সাথে কিছু অনিবার্য ওভারল্যাপ রয়েছে । বোগোসর্ট ধারণার ক্রেডিটগুলি তার কাছে যায়।

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

তারা কিভাবে কাজ করে

Ṣ               Main link. Argument: A (array)

Ṣ               Sort A.
¹Þ              Main link. Argument: A (array)

¹Þ              Sort A, using the identity function as the key.
Ụị              Main link. Argument: A (array)

Ụ               Grade up; yield all indices of A, sorted by their corr. values.
 ị              Index into A.
Œ!Ṃ             Main link. Argument: A (array)

Œ!              Yield all permutations of A.
  Ṃ             Minimum; yield the lexicographically smallest permutation.
7778Ọv          Main link. Argument: A (array)

7778Ọ           Unordinal; yield chr(7778) = 'Ṣ'.
     v          Evaluate with argument A.
Ẋ>2\S$¿         Main link. Argument: A (array)

      ¿         While the condition it truthy, execute the body.
 >2\S$            Condition:
     $              Combine the two links to the left into a monadic chain.
 >2\                  Perform pairwise greater-than comparison.
    S                 Sum; add the results.
                    This returns 0 iff A contains an unsorted pair of integers.
Ẋ                 Body: Shuffle A.
ĠFḣṪ¥@€         Main link. Argument: A (array)

Ġ               Group the indices of A by their sorted values.
 F              Flatten the result.
      €         Apply the link to the left to each index in the previous result, 
                calling it with the index as left argument and A as the right one.
    ¥@            Combine the two links to the left into a dyadic chain and swap
                  its arguments, so A is left one and the index i is the right one.
  ḣ               Head; take the first i elements of A.
   Ṫ              Tail; yield the last of the first i, i.e., the i-th element of A.
~Ṁ~rṀxLœ&       Main link. Argument: A (array)

~               Take the bitwise NOT of all integers in A.
 Ṁ              Take the maximum.
  ~             Take the bitwise NOT of the maximum, yielding the minimum of A.
    Ṁ           Yield the maximum of A.
   r            Range; yield [min(A), ... max(A)].
      L         Yield the length of A.
     x          Repeat each integer in the range len(A) times.
       œ&       Take the multiset-intersection of the result and A.
C»/ð+ÆNPÆfÆC_ḷ  Main link. Argument: A (array)

C               Complement; map (x -> 1-x) over A.
 »/             Reduce by dyadic maximum, yielding 1-min(A).
   ð            Begin a new, dyadic chain. Arguments: 1-min(A), A
    +           Add 1-min(A) to all elements of A, making them strictly positive.
     ÆN         For each element n of the result, yield the n-th prime number.
       P        Take the product.
        Æf      Factorize the product into prime numbers, with repetition.
          ÆC    Prime count; count the number of primes less than or equal to p,
                for each prime p in the resulting factorization.
             ḷ  Yield the left argument, 1-min(A).
            _   Subtract 1-min(A) from each prime count in the result to the left.
<þḅ1‘WiþJḄ³ṫZḢ  Main link. Argument: A (array)

<þ              Construct the less-than matrix of all pairs of elements in A.
  ḅ1            Convert each row from base 1 to integer (sum each).
    ‘           Increment. The integer at index i now counts how many elements
                of A are less than or equal to the i-th.
     W          Wrap the resulting 1D array into an array.
        J       Yield the indices of A, i.e., [1, ..., len(A)].
      iþ        Construct the index table; for each array T in the singleton array
                to the left and index j to the right, find the index of j in T.
                This yields an array of singleton arrays.
         Ḅ      Unbinary; convert each singleton from base 2 to integer, mapping
                ([x]-> x) over the array.
          ³     Yield A.
           ṫ    Tail; for each integer i in the result of `Ḅ`, create a copy of A
                without its first i-1 elements.
            Z   Zip/transpose. The first column becomes the first row.
             Ḣ  Head; yield the first row.

15

জেলি, 8 প্রোগ্রাম

Ṣ                   Built-in sort.
¹Þ                  Sort-by the identity function.
Ụị                  Sort indices by values, then index into list.
Œ!Ṃ                 Smallest permutation.
7778Ọv              Eval Unicode 7778 (Ṣ).
ẊI>@-.S$$¿          Bogosort.
<;0œṡ0⁸ṁjµ/         Insertion sort.
AṀ‘¶+Ç©ṬT_©®³ċЀ®x' A terrifying hack.

শেষ প্রোগ্রামটি সত্যিই বিরক্তিকর ...

AṀ‘¶+Ç©               Add ® = abs(max(L)) + 1 to the entire list.
                      Now it’s offset to be entirely positive.
       Ṭ              Create a binary array with 1s at these indices.
        T             Find the indices of 1s in this array.
                      The result is sorted, but offset wrong, and lacks duplicates.
         _©®          Subtract the offset, saving this list to ®.
                      Now restore the duplicates:
            ³ċЀ      Count occurences in the original list.
                ®x'   Repeat the elements of ® that many times.

আমি যদি এর œṡথেকে অপসারণ করতে পারি তবে <;0œṡ0⁸ṁjµ/এই অদ্ভুত একটিটিও রয়েছে:²SNr²ZFœ&। সাহায্য প্রশংসা করা হয়।


1
Roots → polynomial, polynomial → rootsপ্রতিভা!
লুইস মেন্ডো

1
এটি প্রদর্শিত হয় আউটপুট ক্রমটি বিপরীত । ভাগ্যক্রমে Uবিনামূল্যে
লুইস মেন্ডো

ওহ, নেতিবাচক পূর্ণসংখ্যার… আমি সেগুলি সম্পর্কে আমি কী করতে পারি তা আমি দেখতে পাচ্ছি
লিন

আমি মনে করি আমাদের আরও কিছু প্রয়োজন, তবে কীভাবে আমরা এটির উন্নতি করতে পারি তা আমি জানি না।
ম্যাথু রোহ

এখনই এইচটি প্রডাকশনগুলি স্থির করা হয়েছে।
লিন

14

05 এ বি 1 ই , স্কোর = 6

05AB1E ব্যবহার সিপি-1252 এনকোডিং।

ধন্যবাদ কেভিন Cruijssen প্রোগ্রাম 4. জন্য
ধন্যবাদ রাইলি প্রোগ্রাম 6 অনুপ্রেরণা জন্য।

প্রোগ্রাম 1

{               # sort          

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

প্রোগ্রাম 2

`[Ž.^]¯

`               # flatten input list to stack
 [Ž  ]          # loop until stack is empty
   .^           # add top of stack to global list in sorted order
      ¯         # push global list

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

প্রোগ্রাম 3

WrZŠŠŸvy†

Wr              # get minimum value in input list and reverse stack
  ZŠ            # get maximum value in input list and swap move it to bottom of stack
    Š           # move input down 2 levels of the stack
     Ÿ          # create a range from max to min
      v         # for each y in range
       y†       # move any occurrence of it in the input list to the front

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

প্রোগ্রাম 4

ϧ

œ               # get a list of all permutations of input
 ß              # pop the smallest

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

প্রোগ্রাম 5

êDgFDNè¹sUXQOFXs}}\)

ê                      # sort with duplicates removed
 Dg                    # duplicate and get length
   F                   # for N in [0 ... len-1] do
    DNè                # duplicate and get the Nth element in the unique list
       ¹s              # push input and move the Nth element to top of stack
         UX            # save it in X
           Q           # compare each element in the list against the Nth unique element
            O          # sum
             FXs}      # that many times, push X and swap it down 1 level on stack
                 }     # end outer loop
                  \    # remove the left over list of unique items
                   )   # wrap stack in a list

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

প্রোগ্রাম 6

©€Ý逤þ((®€Ý逤(þ(Rì

©                        # store a copy of input in register
 €Ý                      # map range[0 ... n] over list
   é                     # sort by length
    €¤                   # map get_last_element over list
      þ((                # keep only non-negative numbers
                         # now we have all positive numbers sorted
         ®€Ý逤(þ(       # do the same thing again on input 
                         # except now we only keep negative numbers
                  R      # reverse sorting for negative numbers
                   ì     # prepend the sorted negative numbers to the positive ones

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


œßঅতিরিক্ত স্কোর জন্য ব্যবহার করা যেতে পারে। এখানে চেষ্টা করুন।
কেভিন ক্রুইজসেন 11

@ কেভিন ক্রুজসেন: ধন্যবাদ! আমি কেবল একটি œসমাধান খুঁজছিলাম , তবে আমি এমনকি তার সম্পর্কেও জানতে পারি না ß:)
এমিগানা

আমি পুরোপুরি সৎ হতে হবে, আমি তা থেকে পেয়েছিলাম এখানে । ;)
কেভিন ক্রুইজসেন

1
@ রিলে আমি যদি কিছু ভুল না করি তবে এটি একটি ভুল আউটপুট দেয়
কেভিন ক্রুইজসেন

1
লেজ এবং পপ পেতে একটি উপায় আছে? পরিবর্তে যদি মানটি পপ করা হয় €Ý逤তবে তা যদি পাওয়া যায় তবে তা কাজ ¤করবে।
রিলে

11

ব্র্যাচল্যাগ , স্কোর =  4  5

প্রোগ্রাম 1 - সাফ করুন বাছাই

ṣ.↔: 1≥₎∧ | ↰

আমরা এলোমেলো করে পরীক্ষা করে দেখি যে তালিকার উল্টোটি ক্রমবর্ধমান। যদি না হয় তবে আমরা পুনরাবৃত্তভাবে পুনরায় চেষ্টা করব।

প্রোগ্রাম 2 - অনুক্রমের সাজান

p≤₁

প্রথম ক্রমান্বয়ে আউটপুট করুন যা অ-হ্রাস পাচ্ছে।

প্রোগ্রাম 3 - অন্তর্নির্মিত

অর্ডার।

প্রোগ্রাম 4 - অন্তর্নির্মিত

≜ᵒ

লেবেল দ্বারা অর্ডার। যেহেতু তালিকার পূর্ণসংখ্যাগুলি ইতিমধ্যে ঠিক করা আছে, এটি একই রকম করেo

প্রোগ্রাম 5 - ন্যূনতম মুদ্রণ

ছ ~ Kkt ~ এলজি ~ KK {⌋M & ~ cṪ↺Th [এম] hẉTb↺c} ⁱ⁾

প্রকৃতির এই একত্ববাদের জন্য এখানে একটি ব্যাখ্যা:

g~kK                                K = [Input list, a variable]
    t~lg~kK                         That variable is the length of the Input list
           {                  }ⁱ⁾   Iterate length-of-the-Input times on the Input:
            ⌋M                        M is the min of the input
              &~cṪ                    Ṫ is a triplet of lists which concatenate to the input
                 Ṫ↺Th[M]              T is Ṫ cyclically permuted once ccw; [M] is
                                        the first element of T
                        hẉ            Write M followed by a new line
                          Tb↺c        Remove the first element of T (i.e. [M]), cyclically
                                        pemute T once ccw and concatenate; this is
                                        the input for the next iteration

3
অতিক্রম করা 4 এখনও নিয়মিত 4 :(
NoOneIsHere

2
@ ননওআইনি এখানে আমি প্রতারণা করেছি এবং লাইনটি প্রসারিত করার জন্য প্রসারিত করেছি!
মার্চকে মারাত্মক রূপ দিন

লেজ পুনরাবৃত্তি + বোগোসর্ট। দেখে মনে হচ্ছে একটি রেসিপি RecursionError: maximum call stack size exceeded
f-

@ চ্যালেঞ্জার 5 টেল পুনরাবৃত্তি প্রোগলগুলিতে যথেষ্ট কার্যকরভাবে প্রয়োগ করা হয়েছে যাতে এটি না ঘটে।
মারাত্মক করুন

7

জাভাস্ক্রিপ্ট, স্কোর 1 2

@ETH প্রোডাকশনগুলির জন্য স্কোরকে দ্বিগুণ করেছেন যারা আমাকে স্ট্রিং পলায়নের স্মরণ করিয়ে দিয়েছে

স্নিপেট 1 (21 বাইট, অক্ষর \ ,-.=>289`Facehilnorstux)

Function`return this.sort\x28\x28t,h\x29=>t-h\x29`.call

স্নিপেট 2 (9117 বাইট, অক্ষর (+)[!])

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[+[]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]+!+[]]+(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(![]+[])[+!+[]]+[[]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]]([[]])+[]+(+(+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+[]])+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[+!+[]]]+([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[!+[]+!+[]]+(![]+[])[+!+[]]+(+((+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]+[+[]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+[]]+[+!+[]]])+[])[!+[]+!+[]]+(+(+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+[]])+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]

আপনি আপনার ব্রাউজারের কনসোলে উভয় সংস্করণ পরীক্ষা করতে পারেন। প্রথম সংস্করণটি কেবল একটি ফাংশন, দ্বিতীয় সংস্করণটি হ'ল একটি স্নিপেট যার জন্য বন্ধনী এবং যুক্তি যুক্ত করা দরকার।

উদাহরণ

< {function snippet here}([1, -44, 65, -105, 12])
> [-105, -44, 1, 12, 65]

কিভাবে?

প্রথম স্নিপেট অ্যারেতে বাছাইয়ের পদ্ধতিটিকে কল করে। ডিফল্টরূপে, বাছাইয়ের পদ্ধতিটি ডিক্সিকোগ্রাফিকাল বাছাই করে, যা পূর্ণসংখ্যার জন্য খারাপ (বিশেষত বহু-অঙ্কের নেতিবাচক সংখ্যা)। এর মতো, আমাদের এটিতে একটি তীর ফাংশন আকারে একটি কলব্যাকটি পাস করতে হবে যা দুটি উপাদান গ্রহণ করে এবং পূর্বেরটি থেকে বিয়োগফলকে বিয়োগ করে। ফলাফলের মানের উপর নির্ভর করে দুটি উপাদান পুনরায় সাজানো হয়: এটি যদি 0 এর চেয়ে ছোট হয় তবে এটি 0 টির চেয়ে বড় হলে aআগে উপস্থিত হবেbab এবং যদি এটি 0 হয় তবে উভয় উপাদান একে অপরের পাশে শেষ হবে।

দ্বিতীয় স্নিপেটটি প্রথম স্নিপেটের একটি এনকোডড সংস্করণ ছাড়া আর কিছুই নয় এবং এটি জাভাস্ক্রিপ্টে object.function()সমান হওয়ার সত্যতার সুবিধা নেয় object["function"]()। এটি খালি অ্যারে, !অপারেটর এবং নম্বর কাস্টিং ব্যবহার করে সমস্ত ধরণের স্ট্রিং উত্পন্ন করে, যাতে ফাংশন নামের জন্য প্রয়োজনীয় অক্ষরগুলি পাওয়া যায়। তারপরে ব্র্যাকেটগুলি স্ট্রিংয়ের একটি নির্দিষ্ট সূচীতে অক্ষরটি পেতে আরও একবার ব্যবহার করা হয়, এবং সেই সমস্ত অক্ষরগুলি সংক্ষিপ্ত হয়, যার ফলে নিম্নলিখিত জাভাস্ক্রিপ্ট কোড হয়:

[]["fill"]["constructor"]("return this.sort((a,b)=>a-b)")["call"]

[]["fill"]সমান [].fill, যার ["constructor"]হয় Functionঅবজেক্ট। আমরা তখন একটি স্ট্রিং (যা যখন ফাংশন বলা হয় মূল্যায়ন করা হয়), প্রথম ফাংশন যা, কিন্তু যে বিজ্ঞপ্তি যুক্তি দ্বারা প্রতিস্থাপিত হয়েছে যে কল thisthisআর্গুমেন্টের মান সেট করতে , আমাদের এই ফাংশনটিতে একটি নাম কল করতে হবে, যথা ["call"]। প্রচলিত জাভাস্ক্রিপ্টে আপনি এটি লিখবেন:

function _() {
    return this.sort((a,b)=>a-b);
}
_.call(argument);

আমি বাজি ধরছি পরিবর্তে ব্যাকটিকগুলি ব্যবহার করে, প্রথম বন্ধনী ছাড়াই সমাধান পাওয়া সম্ভব। Function`return a=>a.sort\x28\x28a,b\x29=>a-b\x29` উদাহরণস্বরূপ, তবে আপনি ইতিমধ্যে ব্যবহার করেছেন এমন
অক্ষরগুলি

এমন নয় যে এটা গুরুত্বপূর্ণ, কিন্তু আপনি পারা সম্ভবত প্রবর্তনের দ্বারা দ্বিতীয় স্নিপেট বাইট একটি উল্লেখযোগ্য পরিমাণ সংরক্ষণ 'এবং করছেন যেমন '('পরিবর্তে যাই হোক না কেন JSF যে গৃহস্থালির কাজ জেনারেট করে। (এছাড়াও, ব্যবহার fএবং tপরিবর্তে Vars যেমন aএবং b, bআক্ষরিক 3000 অক্ষর খরচ)
ETHproductions

7

ভি , স্কোর 3 , 4

এটি ছিল সত্যিই একটি মজাদার চ্যালেঞ্জ! ধন্যবাদ, ভিমে একটি বিল্টিন "সাজান" ফাংশন রয়েছে অন্যথায় এটি মূলত অসম্ভব। দুর্ভাগ্যক্রমে, যেহেতু ভি / ভিআইএম স্ট্রিং ভিত্তিক এটি সংখ্যার মানগুলি অনুসারে বাছাই করার জন্য একটি যুক্তি প্রয়োজন। তাই আমি ফোন করছি

  • সংখ্যার মান অনুসারে বাছাই করুন n,

  • হেক্সাডেসিমাল মান অনুসারে বাছাই করুন xএবং

  • ভাসমান পয়েন্ট মান অনুসারে বাছাই করুন f

সামান্য পার্শ্ব-নোট: আমি যখন কিছু লিখি <esc> বা <C-r>, এটি আসলে একটি একক বাইট। এটি ছাপিয়ে যায় না এমন অক্ষরগুলি উপস্থাপন করে এবং যেহেতু ভি দুর্ভাগ্যক্রমে ছাপিয়ে যাওয়া অক্ষরগুলিতে প্রচুর নির্ভর করে, তাই এই পদ্ধতিটি সবকিছু সহজ করে তোলে। টিআইও লিঙ্কগুলিতে -vপতাকা রয়েছে, যা ভি দোভাষীকে এগুলি পড়তে বাধ্য করে যেন তারা যে চরিত্রগুলি তারা প্রতিনিধিত্ব করে।

প্রোগ্রাম 1, 2 বাইট

ún

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

এটি ভি নির্দিষ্ট করে বাছাই ফাংশন ।

প্রোগ্রাম 2, 10 বাইট

Qsor x
vi

এটি কেবল সরাসরি 'সাজান' কল করে। এ সম্পর্কে একমাত্র আকর্ষণীয় জিনিসটি হ'ল আমরা এটি exমোড থেকে করি , যা একটি অদ্ভুত মোড যা পাঠ্য সম্পাদককে 'প্রাক্তন', ভি এর মহান-দাদু em প্রারম্ভিক মোড ছেড়ে যাওয়ার জন্য ব্যবহৃত কমান্ডটি এর viশর্টকাট visual। এটির জন্য একটি ট্রেলিং নিউলাইন দরকার।

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

প্রোগ্রাম 3, 14 বাইট

OSOR X<esc>V~DJ:<C-r>"

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

ঠিক আছে, এখানে ব্যাখ্যাগুলি একটু অদ্ভুত হওয়া শুরু করে। যদি আমরা পাঠ্যটি তৈরি করতে পারি তবে আমরা sor xএটি মুছতে পারি এবং এটি বর্তমান কমান্ডের সাথে সন্নিবেশ করতে পারি <C-r><register-name>। সুতরাং আমরা এটি বড় হাতের মধ্যে প্রবেশ করব।

O                       " Open a newline above the current line, and enter insert mode
 SOR X                  " From insert mode, enter 'SOR X'
      <esc>             " Leave insert mode
           V            " Select this whole line
            ~           " And toggle the case of every selected character ('u' would also work here)
             D          " Delete this line (into register '"')
              J         " Get rid of a newline
               :        " Enter command-line mode
                <C-r>"  " Insert register '"'
                        " Implicitly hit enter, running the 'sor x' command
                        " Implicitly print the buffer

প্রোগ্রাম 4, 19 বাইট

YPC<C-v>58fbe a<C-c>g?_dd@1

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

এবং এখানেই ব্যাখ্যাগুলি খুব অদ্ভুত হতে শুরু করে । গতবারের মতো, আমরা কমান্ডটি স্বাভাবিক মোডে তৈরি করব যাতে আমরা বিভিন্ন কী ব্যবহার করতে পারি।

YP                          " Create a copy of this line up one line. This is mostly so that we have a line to work with without messing with the numbers.
  C                         " Delete this line and enter insert mode
   <C-v>58                  " Insert ASCII '58' (which is ':')
          fbe a             " Insert 'fbe a'
               <C-c>        " Pretty much equivalent to <esc>
                    g?_     " ROT13 this line. Now the line is ':sor n'
                       dd   " Delete this whole line
                         @1 " And run it as if typed

6

সিজেম, স্কোর 4

প্রোগ্রাম 1: অন্তর্নির্মিত

$

প্রোগ্রাম 2: মূল্যবান অন্তর্নির্মিত

36c~

36 এর ASCII মান $

প্রোগ্রাম 3: আনুষাঙ্গিক বাছাই করুন

e!0=

e!     e# Find unique permutations of the input
  0=   e# Take the first one, which happens to be in sorted order

প্রোগ্রাম 4: ন্যূনতম মান

[{__)\;\{_@_@<{\}&;}*^{1m<}{)\}?}h;]

এই অসমীয়া একাত্ত্বিকতার ব্যাখ্যা:

[             e# Begin working in an array
{             e# Do this block while the TOS is truthy (doesn't pop)
 __           e#  Duplicate TOS twice (the array)
 )\;          e#  Take the last element of the array
 \            e#  Swap top two elements, bringing the other array copy to the top
 {            e#  Reduce the array using this block
  _@_@<{\}&;  e#   The minimum of two values (e was already used, so can't use e<)
 }*           e#  (result is the minimum value from the array)
 ^            e#  Bitwise XOR of last element with minimum element;
              e#   if the numbers are the same, result is 0, otherwise non-zero
 {            e#  If non-zero (i.e. last element wasn't the minimum element)
  1m<         e#   Rotate the array 1 to the left
 }{           e#  Else
  )\          e#   Remove the last element and bring the array back to TOS
 }?           e#  (end if)
}h            e# (end do-while)
;             e# Remove the empty array left behind
]             e# End the array

এটি কতটা সহায়ক তা নিশ্চিত নয় তবে আপনি চাইলে (+পরিবর্তে ব্যবহার 1m<করতে পারেন।
মার্টিন এেন্ডার

@ মার্টিনএন্ডার আমি ইতিমধ্যে <সেই স্নিপেটে ব্যবহার করছি তাই সম্ভবত এটির সাথে আঁকতে আরও ভাল1m<
বিড়াল বিড়াল

যদিও আমি নিশ্চিত নই যে ব্লক ব্যবহার না করে আমি আর যাই করতে পারব ...
Business Cat

5

জাপট , স্কোর = 4

প্রোগ্রাম 1

n

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

প্রোগ্রাম 2

ñ

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

প্রোগ্রাম 3

s)$.sort((a,b)=>a-b

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

প্রোগ্রাম 4

Ov85d +110d

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


1
সুন্দর. আমি মনে করি আপনি তৃতীয় প্রোগ্রামে ইউ কে সংরক্ষণ করতে পারবেন s)$.sort(..., নিশ্চিত না যে এটি কার্যকর কিনা if
ইটিএইচ প্রডাকশনগুলি

ধন্যবাদ ETH প্রডাকশন ধন্যবাদ। আমি যাইহোক আমি আরও অনেক কিছু করতে পারি কিনা তা নিশ্চিত নই; কোন Japt বা জাতীয় কারণ Eval করতে পারবে না Oএবং $ব্যবহার করা হয়েছে। আপনি যদি বাছাইয়ের অন্য কোনও উপায়ের কথা চিন্তা করতে পারেন তবে আমি পরামর্শের জন্য উন্মুক্ত! :)
টম

4

অষ্টাভ, 2 পয়েন্ট

এসোলেংগুলির সাথে প্রতিযোগিতা করা শক্ত, তবে এখানে যায়:

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

1 নম্বর:

এটি একটি বেশ সহজ: একটি বেনামে ফাংশন তৈরি করুন, ভেরিয়েবলের জন্য নির্ধারিত ans

@sort

এই ভাবে কল করুন: ans([-5, 3, 0, -2, 100])। এটি টিওতে কাজ করে না, তবে এটি অক্টাভ-অনলাইনে কাজ করে ।


২ নম্বর:

অক্ষরগুলি ব্যবহার না করে এটি কেবল বুদ্বুদ সাজানোর একটি বাস্তবায়ন @sort। আমরা এটিকে কোনও ফাংশন করতে পারি না, কারণ o, এবং আমরা এর inputকারণে ব্যবহার করতে পারি না t। সুতরাং আমরা সঙ্গে আটকে করছি eval

eval(['a=inpu',116,'("");']);i=1;k=0;
while~k,k=1;i=1;while i<numel(a),if a(i)>a(i+1),a([i+1,i]) = a([i,i+1]);k=0;
end,i++;end,end,a

eval(['a=inpu',116,'("");']);মূল্যায়ন করে:, a=input("");যে আমরা আমাদের ইনপুট ভেক্টরটি প্রবেশ করতে ব্যবহার করতে পারি। বাকিগুলি forবা ব্যবহার ছাড়াই বুদ্বুদ-বাছাই করা হয় mod। নোট করুন যে এটি অবশ্যই একটি স্ক্রিপ্টে সংরক্ষণ করতে হবে এবং জিইউআই / সিএলআই থেকে কল করা উচিত। আপনি এটি অনুলিপি-আটকাতে পারবেন না, কারণ input("")(এটি বাকী কোডটি ইনপুট হিসাবে ব্যবহার করবে, সুতরাং এটি খারাপভাবে ব্যর্থ হবে)।


4

হাস্কেল (ল্যাম্বডাবোট), 3 টি ফাংশন

sort


vv v|vvv:vvvv<-v=vv vvvv|v==v=v
vvvv==:vvv|vvvv==vv vvvv=vvv:vvvv|v:vv<-vvvv,vvv<v=vvv:v:vv|v:vv<-vvvv=v:vv==:vvv
vv=:vvvv|v:vvv<-vvvv=vv==:v=:vvv
vv=:v=vv
v vvv=vv vvv=:vvv


fix(ap(min).ap((++).flip(map)[1].(.(0*)).(+).minimum).(.ap(\\)(flip(map)[1].(.(0*)).(+).minimum)))

প্রচুর importবিবৃতি এড়াতে আমি ল্যাম্বডাবোট পরিবেশটি ব্যবহার করছি । এমনকি sortপ্রয়োজন import Data.List। ল্যাম্বডাবোট ডিফল্টরূপে একগুচ্ছ মডিউল আমদানি করে। অনুপস্থিত ছাড়াও imports, এটি আমাদের নিয়ম অনুসারে স্ট্যান্ডার্ড হাস্কেল কোড।

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

ফাংশন ঘ

sort

থেকে লাইব্রেরি ফাংশন Data.List। এখানে বেশি কিছু বলার নেই।

কার্য 2

vv v|vvv:vvvv<-v=vv vvvv|v==v=v
vvvv==:vvv|vvvv==vv vvvv=vvv:vvvv|v:vv<-vvvv,vvv<v=vvv:v:vv|v:vv<-vvvv=v:vv==:vvv
vv=:vvvv|v:vvv<-vvvv=vv==:v=:vvv
vv=:v=vv
v vvv=vv vvv=:vvv

ফাংশন vএকটি সন্নিবেশ সাজান প্রয়োগ করে।

আমি ()পরামিতিগুলি এড়াতে প্যাটার্ন গার্ড ব্যবহার করি । তুলনা vv v|vvv:vvvv<-v=...করার জন্য vv(vvv:vvvv)=...

প্রথম লাইন, ফাংশন vvহ'ল খালি তালিকা তৈরি করতে সহায়তাকারী ফাংশন। এটির সাথে আমার []আক্ষরিক খালি তালিকা লিখতে হবে না । আরও পঠনযোগ্য:

mkEmpty list | hd:tl <- list = mkEmpty tl | otherwise = list

(==:)সন্নিবেশ করা হয়, যা একটি বাছাই করা তালিকায় একটি উপাদান সন্নিবেশ করে, ফলে ফলাফলটি এখনও সাজানো থাকে। আরও পঠনযোগ্য:

list `insert` el
  | list == []           = el:list
  | hd:tl <- list, el<hd = el:hd:tl
  | hd:tl <- list        = hd : tl `insert` el

(=:)হ্রাস করা হয়। আরও পঠনযোগ্য:

acc `reduce` list
  | hd:tl <- list = (acc `insert` hd) `reduce` tl
acc `reduce` list = acc

এবং শেষ পর্যন্ত vযা ইনপুট তালিকার সাথে তারতম্য হ্রাস করে []:

sort list = [] `reduce` list

কার্য 3

fix(ap(min).ap((++).flip(map)[1].(.(0*)).(+).minimum).(.ap(\\)(flip(map)[1].(.(0*)).(+).minimum)))

sortফাংশন থেকে 1 টি তালিকা-হেঁটে ফাংশন (অধিকাংশ তোলে fold, scan, until) অনুপলব্ধ। Recursion চাহিদা =যা ফাংশানে 2. একমাত্র বিকল্প বাম fixpoint combinator ব্যবহার করছে ব্যবহার করা হয় fix। আমি শুরু করেছি

fix (\f x -> min x ([minimum x]++f(x\\[minimum x])))

যা একটি নির্বাচন-বাছাই। এটিকে বিন্দু মুক্ত করে তোলা (আমি ল্যাম্বডাস ব্যবহার করতে পারি না \f x ->..., কারণ এটি -ফাংশন 2-তে প্যাটার্ন গুয়ারা ব্যবহার করে) দেয়:

fix (ap min . ap ((++) . return . minimum) . (. ap (\\) (return . minimum)))

এর সাথে মানটির বাইরে সিঙ্গলটন তালিকা তৈরি করা return নিষিদ্ধ (এর জন্য একই)pure ), সুতরাং আমাকে নিজের ফাংশনটি তৈরি করতে হবে: \x -> map (\y -> x+0*y) [1]বা বিন্দু মুক্ত flip map[1].(.(0*)).(+)returnফলন প্রতিস্থাপন

fix(ap(min).ap((++).flip(map)[1].(.(0*)).(+).minimum).(.ap(\\)(flip(map)[1].(.(0*)).(+).minimum)))

2

এমএটিএল , 3 টি প্রোগ্রাম

প্রোগ্রাম 1

S

এটি কেবল অন্তর্নিহিত ইনপুট এবং প্রদর্শন সহ অন্তর্নির্মিত ফাংশনটি ব্যবহার করে।

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

প্রোগ্রাম 2

`GGnZrd0<a}3M

ফলাফলের ক্রমাগত সমস্ত পার্থক্য অ-নেতিবাচক না হওয়া পর্যন্ত এটি ইনপুটগুলির এলোমেলো ক্রম উত্পাদনগুলি বজায় রাখে (এটি এটি বোগোসর্ট , @ সিজেড দ্বারা উল্লিখিত হিসাবে )। চলমান সময় অ-নিরস্তকর এবং এর গড় ইনপুট আকারের সাথে খুব দ্রুত বৃদ্ধি পায় (যথা, 𝒪 ( n! ) একটি জন্য - এন সমস্ত এন্ট্রি বিভিন্ন সঙ্গে অ্যারে)।

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

প্রোগ্রাম 3

t:"tt_X>_=&)]&h

এটি এমন একটি লুপ যা অ্যারের সর্বনিম্ন গণনা করে, সেই মানটির সমান সমস্ত উপাদান এবং বাকীগুলির সাথে পদ্ধতিগুলি সরিয়ে দেয়। এটি ইনপুট আকারের হিসাবে অনেক বার করা হয়। যদি ইনপুটটিতে সমস্ত এন্ট্রি পৃথক না হয় তবে কিছু পুনরাবৃত্তি অকেজো (তবে ক্ষতিহীন) হবে, কারণ অ্যারে ইতিমধ্যে খালি হয়ে গেছে।

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


1
পার্শ্ববর্তী সুন্দর ভাবনা!
গ্রেগ মার্টিন

যে বোগো সাজান?
সি .. 21

@ সিজেড গুগলস বোগো বাছাই করুন ! টিআইএল
লুইস মেন্ডো

1

বীচি , 4 টি প্রোগ্রাম

প্রোগ্রাম 1 - অন্তর্নির্মিত

স্নিপেট; তালিকা ধরে x

SNx

(SN সাজানোর সংখ্যার জন্য)

প্রোগ্রাম 2 - ফিল্টার ক্রম

স্নিপেট; তালিকা ধরে y। প্রায় 7 টি আইটেমের চেয়ে দীর্ঘ ইনপুটগুলির জন্য খুব ধীর।

Y$<=_FIPMyPOy

       PMy     List of permutations of y
     FI        Filter on this lambda function:
 $<=_           Fold on less-than-or-equal
                (gives 1 if the permutation is sorted ascending, 0 otherwise)
Y              Yank that result back into y
               Filter returned a list of (one or more) permutations, so we need to
          POy  Pop the first one

প্রোগ্রাম 3 - eval

স্নিপেট; তালিকা ধরে z

V J C[83 78 122]

    C[83 78 122]  Apply chr to each number; yields ["S" "N" "z"]
  J               Join that list into a string
V                 Eval

প্রোগ্রাম 4 - মার্জসর্ট

বেনামে ফাংশন; যুক্তি হিসাবে তালিকার সাথে কল (যেমন ({...} [1 2])বা f:{...} (f [1 2])

{b:#a>o?(fa@(,#a/2))lc:#a>o?(fa@(#a/2,()))aa:lWb{Wb@0>c@0|b@0Qc@0{aAE:c@0c@>:o}t:bb:cc:t}aALc}

Ungolfed:

{
 ; If more than one element in a, b gets result of recursion with first half
 ; else b gets l (empty list)
 b: #a>o ? (f a@(,#a/2)) l
 ; If more than one element in a, c gets result of recursion with second half
 ; else c gets a
 c: #a>o ? (f a@(#a/2,())) a
 ; Now we merge b and c
 ; We'll put the results in a, which must be initialized to l (empty list)
 a:l
 ; Loop while b is nonempty
 W b {
  ; Loop while 0th element of c exists and is less than or equal to 0th element
  ; of b (note: Q is string equality)
  W b@0>c@0 | b@0Qc@0 {
   ; Append 0th element of c to a
   a AE: c@0
   ; Slice c from 1st element on and assign that back to c (removing 0th)
   c @>: o
  }
  ; Swap b and c
  t:b
  b:c
  c:t
 }
 ; When b is empty, we only need append the rest of c to a and return
 aALc
}

1

পাওয়ারশেল , ২

|sort

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

এটি হ'ল একটি স্নিপেট যা (উদাহরণস্বরূপ) পাওয়ারশেলের একটি REPL সমতুল্য। টিআইও লিঙ্কটি ব্যবহার দেখায়। sortজন্য একটি alias হয় Sort-Objectcmdlet।


PARAM($A)[ARRAY]::SORT($A);$A

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

পাওয়ারশেল কমান্ডগুলি কেস-সংবেদনশীল, তাই আমরা sortএকটির SORTজন্য এবং অন্যটির জন্য ব্যবহার করতে পারি । এটি একটি ইনপুট অ্যারে নেয়, এটি যথাস্থানে বাছাই করে এবং এরপরে আউটপুট দেয়।


1

রুবি, 2 টি প্রোগ্রাম

প্রথম - সরল:

->t{t.sort}

দ্বিতীয় - জটিল অংশ:

def w(g)
    eval ""<<103<<46<<115<<111<<114<<116
end

0

জে

প্রোগ্রাম এক: 3 বাইট

/:~

/:~ 3,1,2,1আউটপুট হিসাবে1 1 2 3

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

জেতে নোট করুন, নেতিবাচক সংখ্যাগুলি _ এর আগে নয় - তাই আপনি 4, _10,56, _333 ইত্যাদি চেষ্টা করতে পারেন

প্রোগ্রাম দুটি: 5 বাইট

|.\:~

আমি আপনার উত্তরটি ঠিক করেছি যাতে কোডটি সঠিকভাবে প্রদর্শিত হয়। চমৎকার উত্তর! এছাড়াও, Try it onlineজিনিস Tio একটি ওয়েব পেজ লিঙ্ক, একটি উত্তর আপনি এটা করতে পারেন একটি পৃষ্ঠা লিঙ্ক করতে: [displayed text](link)
ক্লিমেজিক

ধন্যবাদ! ঠিক আস্তে আস্তে আস্তে আস্তে আস্তে আস্তে আটকানো! মনে হয় এটি এখন আরও ভাল দেখাচ্ছে। আপনার সাহায্য অনেক প্রশংসা। রিচার্ড
রিচার্ড ডোনভান

আপনার লেখা প্রোগ্রামগুলি কোনও অক্ষর ভাগ নাও করতে পারে; যেমনটি রয়েছে, :এবং ~উভয়তেই ঘটে।
লিন

0

পিএইচপি 7, 2 প্রোগ্রাম

উভয় প্রোগ্রাম আরও গল্ফ করা যেতে পারে।

প্রোগ্রাম 1, 254 বাইট, অক্ষর ! "$&+.01:;=>?[]adeginoprtv

$a=$argv;0 .$a[1+1]?$i=$n=$d=0:print$a[1]and die;g:$r=0 .$a[++$i+1];$i=!$r?1:$i;$n=!$r?$n+1:$n;$v=$i+1;$d=$v>$d?$v:$d;$n>$d?print$a[$d]and die:0;$e=$d>$n&&$a[$i]>$a[$v];$t=$a[$i];$a[$i]=$e?$a[$v]:$a[$i];$a[$v]=$e?$t:$a[$v];$n==$d?print"$a[$i] ":0;goto g;

বুদ্বুদ সাজান। gotoঅন্তর্নির্মিত লুপগুলি প্রয়োজন হিসাবে একটি লুপ তৈরি করতে ব্যবহার করে ()

প্রোগ্রাম 2, 155 বাইট, অক্ষর #%'(),-67ACEFINORTUYZ^_{|}~

IF(CREATE_FUNCTION('','NEFTIEZIENAECCERCTZIENA~N~UEEFECTZIENAUERTEF~CFACTY~YRZIENAUE'^')))6()~(7)7~6-677|~(7)7%~#|~6)77|~(7)7|~77-)^))(-|~^~~~(7)7|~')()){}

IF(...){}ব্যবহার এড়ানো ;। মূল কোডটি এক্সওআর দিয়ে এনকোড $করা হয়েছে , কারণ ইতিমধ্যে আগের প্রোগ্রামটিতে ব্যবহৃত হয়েছে। কোড:

global$argv;unset($argv[0]);sort($argv);echo join(' ',$argv);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.