আপনি কি আপনার 'কেভিজেডস' জানেন?


23

ধারণা

আপনি কীভাবে ইংরাজী বর্ণমালা স্ক্যাম্বল করতে পারেন যাতে এটি টিউনকিল টুইঙ্কল লিটল স্টার টিউনটি বিনষ্ট না করেই সুর করা যায়?

বিধি

সোয়াপিং

আসুন ধরে নেওয়া যাক নীচের প্রতিটি সেটে থাকা বর্ণগুলি টিউনটি বিনষ্ট না করে ডিফল্টরূপে অদলবদল করা যায়:

  • {এ, জে, কে}
  • {বি, সি, ডি, ই, জি, পি, টি, ভি, জেড}
  • {আমি, ওয়াই
  • {প্রশ্ন, ইউ
  • {এস, এক্স, এফ}
  • {এম, এন
  • অতএব এইচ, এল, ও, আর, এবং ডব্লু স্থানে লক করা আছে

আউটপুট

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

আপনার প্রোগ্রামটি অবশ্যই 9!3!3!2!2!2!=104509440 টির প্রতিটি তৈরির কিছু ইতিবাচক সম্ভাবনা রয়েছে (অগত্যা অভিন্ন নয়) ! 3 ! 3 ! 2 ! 2 ! 2 ! = 104509440 আউটপুট।

ব্যবধান, ডিলিমিটার বা কেস সম্পর্কিত কোনও নির্দিষ্ট বিন্যাসের সীমাবদ্ধতা নেই, কেবল সামঞ্জস্যপূর্ণ থাকুন।

লক্ষ্য

সবচেয়ে কম বাইট জিতেছে!

উদাহরণ:

  • KCDBPSVHIAJLMNOZQRXGUEWFYT
  • এ, জি, টু Z, ভি, পি, এক্স, সি, এইচ, y, কে, জে, এল, এন, এম, হে, টি, ইউ, আর, এস, ডি, প্রশ্ন, বি, পঃ, এফ, আমি ই
  • KVTDCFBHIJALNMOPURSZQGWXYE
  • jcdebxthikalnmogursvq pwfyz
  • ABCDEFGHIJKLMNOPQRSTUVWXYZ

Nonexample:

  • HLWROABCDEFZXYGIJKMNPQTSVU

ধারণার প্রমাণ: (পাইথন 3, 529 বাইট)

import random
g1 = ['A', 'J', 'K']
g2 = ['B', 'C', 'D', 'E', 'G', 'P', 'T', 'V', 'Z']
g3 = ['I', 'Y']
g4 = ['Q', 'U']
g5 = ['S', 'X', 'F']
g6 = ['M', 'N']
random.shuffle(g1)
random.shuffle(g2)
random.shuffle(g3)
random.shuffle(g4)
random.shuffle(g5)
random.shuffle(g6)
print(g1[0] + g2[0] + g2[1] + g2[2] + g2[3] + g5[0] + g2[4] + 'H' + g3[0] + g1[1] + g1[2] + 'L' + g6[0] + g6[1] + 'O' + g2[5] + g4[0] + 'R' + g5[1] + g2[6] + g4[1] + g2[7] + 'W' + g5[2] + g3[1] + g2[8])

5
না করা উচিত Z"জায়গায় লক" করা, এটা অন্যদের সঙ্গে মিত্রাক্ষর কবিতা না?
শেগি

3
আমি মনে করি আপনি কোথা থেকে এসেছেন তা নির্ভর করে। আপনি যদি 'জেড' বলছেন তবে এটিকে বের করে নেওয়া বুদ্ধিমান হবে তবে অন্যথায়, যদি আপনি 'জি' বলে থাকেন তবে এটিকে ছেড়ে দিন Ul অবশেষে এটি আপনার উপর নির্ভর করে, বাকি সেটগুলিও। তাদের কঠোর নিয়মের বিপরীতে নির্দেশিকা এবং সূচনা পয়েন্ট হতে হবে বলে মনে করা হচ্ছে :)
রুটি মালিক

3
অবিচ্ছিন্নভাবে এলোমেলোভাবে বা প্রতিটি সম্ভাবনার শূন্য নন সম্ভাবনা, বা অন্য কিছু?
জিমি 23013

8
@ পিটারটেলর আমার মনে হয় উদ্দেশ্যটি হ'ল গ্রুপগুলির সদস্যগণ মূল গানের সুর এবং ছন্দ বজায় রেখে গানের মাঝে সহজেই সরে যেতে পারেন - তাই তারা যখন ছড়াটি করেন, ডব্লুটি 3 টি উচ্চারণ দীর্ঘ এবং যখন ইউ মাত্র 1, যা গানের তালকে বদলে দেবে।
সুক

2
: যারা (আমার মত) কি কোন ধারণা প্রশ্ন সম্পর্কে কথা ছিল করেছিল en.wikipedia.org/wiki/Alphabet_song
anatolyg

উত্তর:


6

05 এ বি 1 ই , 28 বাইট

A.•¬=©ƶÓÄûkTVã”ØζÞ•Dás#€.rJ‡

একক ছোট ছোট স্ট্রিং হিসাবে আউটপুট।

এন

ব্যাখ্যা:

A                    # (a) Push the lowercase alphabet
 .•¬=©ƶÓÄûkTVã”ØζÞ•  # Push compressed string "ajk bcdegptvz iy qu sxf mn"
  Dá                 # (b) Duplicate it, and only keep the letters (removing the spaces)
    s#               # Swap to get the string again, and split it by spaces
      €.r            # Shuffle each substring randomly
         J           # (c) Join it back together to a single string
                    # Transliterate all characters from (b) to (c) in string (a)
                     # (and output the result implicitly)

আমার এই 05AB1E টিপটি দেখুন (বিভাগটি কীভাবে স্ট্রিংগুলি সংকুচিত করবেন? ) কেন .•¬=©ƶÓÄûkTVã”ØζÞ•তা বোঝার জন্য "ajk bcdegptvz iy qu sxf mn"


7

পাইথন 3 , 140 133 124 123 বাইট

d=*map(set,'AJK BCDEGPTVZ IY QU SXF MN H L O R W'.split()),
print([d[int(c,16)].pop()for c in'0111141620075581394131a421'])

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

-1 বাইট, জো কিংকে ধন্যবাদ


পাইথন 2 , 174 170 158 বাইট

from random import*
s=''
for c in'abbbbebHcaaLffObdRebdbWecb':s+=choice(list(set(('AJK BCDEGPTVZ IY QU SXF MN '+c).split()['abcdef'.find(c)])-set(s)))
print s

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



3

পাইথ , 59 57 56 বাইট

hMeD,Vs.SMJc"ajk bcdegptvz iy qu fsx mn h l o r w"dxLGsJ

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

আউটপুট ছোট হাতের অক্ষরের একটি অ্যারে।

hMeD,Vs.SMJc"ajk bcdegptvz iy qu fsx mn h l o r w"dxLGsJ   Implicit: d=" ", G=<lowercase alphabet>
          Jc"ajk bcdegptvz iy qu fsx mn h l o r w"d        Chop the grouping string on spaces, store in J
                                                      sJ   Concatenate J into single string
                                                   xLG     Find the index of each letter in grouping string in the unaltered alphabet
       .SMJ                                                Shuffle each group in J
      s                                                    Concatenate into a single string
    ,V                                                     Pair the shuffled string with their 'correct' positions in the alphabet
  eD                                                       Order the pairs by the derived positions (last element of each pair)
hM                                                         Keep the letter from each pair (the first element)
                                                           Implicit print


3

পার্ল 6 , 76 বাইট

{my@a='A'..'Z';<AJK BCDEGPTVZ IY QU SXF MN>>>.&{@a[.ords X-65].=pick(*)};@a}

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

নামবিহীন কোড ব্লক কোনও যুক্তি না নিয়ে এবং অক্ষরের একটি তালিকা ফেরত দেয়।

ব্যাখ্যা:

{                                                                          } # Anonymous code block
 my@a='A'..'Z';      # Initialise @a as a list of the alphabet
               <AJK BCDEGPTVZ IY QU SXF MN>   # For each of the sets of letters
                                           >>.&{@a[.ords X-65].=       }  # Set those indexes
                                                                pick(*)   # To a random order
                                                                        ;@a  # And return

3

জাভাস্ক্রিপ্ট - 421 344 328 320 306 280 277 276 ... 176 বাইট

-77 বাইট - আমার নিজের উপর

-18 বাইট - ধন্যবাদ @tsh এবং @Geza Kerecsenyi আমাকে কি দেখতে তৈরি @tsh প্রাথমিকভাবে নির্দিষ্ট খুব

-8 বাইট - ধন্যবাদ @Geza Kerecsenyi

-14 বাইট - সাহায্যে @Geza Kerecsenyi

- ২৮ বাইট - আমার নিজের

-৩ বাইট - আবার @ জিজা কেরেসসেনি

-১ বাইটসের সাহায্যে - কীভাবে এটি ঘটতে পারে ...

...

-100 বাইট - @ কাইডো এটা হত্যা করে এবং কিছু পদক্ষেপ মাধ্যমে আগে এই পুরো জিনিস নিচে থেকে 176 বাইট

Golfed:

c=[,'AJK','BCDEGPTVZ','IY','QU','SXF','MN'].map(s=>[...s]);alert([...'1222252H311L66O24R5242W532'].reduce((o,v)=>o+(+v?(p=>p.splice((Math.random()*p.length)|0,1))(c[v]):v),""))

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


1
আপনি কমপক্ষে [B ',' C ',' D ',' E ',' G ',' P ',' T ',' V ',' Z ']' BCDEGPTVZ'.split`` দ্বারা প্রতিস্থাপন করতে পারেন কিছু বাইট সংরক্ষণ করতে
tsh

1
-2 এর 'BCDEGPTVZ'.split``পরিবর্তে চেষ্টা করুন .split('')
গেজা কেরেসসেনি

1
এছাড়াও, আপনি নির্ধারণ করতে পারবেন y=q=>q.split``আপনার কোড উপরের এবং মধ্যে অ্যারে স্ট্রিং যে সব আপনি পাস করতে y()- যেমন a=['A','J','K']হয়েa=y("AJK")
Geza Kerecsenyi

1
এবং প্রতিস্থাপন 'BCDEGPTVZ'.split('')সঙ্গেy('BCDEGPTVZ')
Geza Kerecsenyi

1
'abcdef'.includes(s)?r(eval(s)):l[i]
গেজা কেরেসসেনি

2

রুনিক এনেক্যান্টমেন্টস , 210 বাইট

>yy `AJK`06B$̤$@
>`BCDEGPTVZ`06B$$$$ $̤$y $ $y @
>̤`IY`06Byyy$yyy̤ @
> ̤`QU`06Byy̤ $y @
> ̤`FSX`06B $yy̤$yy@
>y̤ `MN`06Byyy $@
}}f}l3-[r\
3-[2'RA?rR1Kl'RAs]{1-:0)?\}l
> ̤`HLORW`06Bo$y $y$y$yy@ \~{{B͍

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

র্যান্ডিমাইজেশন অভিন্ন নয় কারণ রুনিকে এটি করার ভাল উপায় নেই। পরিবর্তে এটি এলোমেলোভাবে অক্ষরের প্রতিটি সংগ্রহকে (যেমন [BCDEGPTVZ]একটি গোষ্ঠীকরণ) কিছু পরিমাণে আবর্তিত করে (উদাহরণস্বরূপ 4 দ্বারা উপরের সেটটি ঘোরানো, যেখানে স্ট্যাকের শীর্ষটি ডানদিকে রয়েছে, ফলাফলটি হবে [BCDEGZPTV]) এবং তারপরে এলোমেলোভাবে সিদ্ধান্ত নেয় যে না কি না স্ট্যাক বিপরীত। এটি 15 বার এই অপারেশনগুলি সম্পাদন করে। ফলস্বরূপ, সমস্ত সম্ভাব্য অর্ডারগুলি সম্ভব তবে সমানভাবে সম্ভব নয়। (এটি যথেষ্ট নয় এমন ইভেন্টে এটি আরও বাড়িয়ে তোলার জন্য শূন্য বাইটের দাম পড়বে তোলার জন্য , 15000 অবধি লুপগুলি)।

এটি কোডের এই বিভাগ যা শাফালিং পরিচালনা করে:

  v              vvvv           Loop counter

}}f}l3-[r\                      < Loop entry
[2'RA?r1KRl'RAs]{1-:0)?\}l3-
                       \~{{B͍    < loop exit

 ^^^^^^                         Randomly reverse
          ^^^^^                 Rotate by a random an amount

বাকি কোডগুলি এতে নিবন্ধভুক্ত:

                     ABCDEFGHIJKLMNOPQRSTUVWXYZ
>      `AJK`08B      $        $$;
> `BCDEGPTVZ`08B      $$$$ $        $   $ $   $;
>         `IY`08B            $               $;
>          `QU`08B                   $   $;
>          `FSX`08B       $            $    $;
>            `MN`08B             $$;
>          `HLORW`08Bo      $   $  $  $    $;

^                                                   Create IPs
 ^^^^^^^^^^^^^^^^                                   Set letter groupings
                  ^^^                               Call shuffle function
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^    Print letters
                     ^                              Last letter group needs to be sorted

বর্ণগুলি দুটি বাইট পরিবর্তন করে অক্ষরবিহীন (তবে একবারে বিপরীত) ছেড়ে দেওয়া থাকলে বর্ণমালাটি সাধারণত মুদ্রণ করা হয় , যা সমস্ত অক্ষরের গোষ্ঠীকরণগুলি সঠিক জায়গায় মুদ্রিত হয়েছে তা যাচাই করতে ব্যবহার করা যেতে পারে। সাদা স্থান স্থানান্তরিতB কমান্ডগুলি পর্বের বাইরে সরিয়ে নিয়ে যাওয়া হয় যাতে সমস্ত আইপি সংঘর্ষ ছাড়াই একই সময়ে ফাংশন লুপটি ব্যবহার করতে পারে এবং তারপরে সেগুলি আবার পর্যায়ে ফিরে আসে।

গল্ফের জন্য, প্রথমে যে কোনও স্থান যা সমস্ত লাইনে মুছে ফেলা যায় তা ছাঁটাই করা হয়েছিল, তারপরে প্রতিটি দুটি স্পেসকে একটিতে রূপান্তর করা হয়েছিল yএবং প্রতিটি ক্রমটি yyyyরূপান্তরিত হয়েছিল ̤কারণ ̤এবং yyyyএকই পরিমাণে বিলম্ব হয় তবে 2 বাইট সস্তার হয়। HLORWস্পেসিং বাইট (12 বাইট) সংরক্ষণ করার জন্য লুপ প্রস্থানটি মূল প্রোগ্রাম বিভাগের সাথেও মিলিত হয়েছিল ।


2

পার্ল 5 , 103 91 85 বাইট

map{my%l;@l{/./g}++;@k{/./g}=keys%l}AJK,BCDEGPTVZ,SXF,IY,QU,MN;say map$k{$_}||$_,A..Z

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

এই কোডটি (আব) সত্যটি ব্যবহার করে যে পার্সের হ্যাশ কীগুলির ( %l) এর আউটপুটটি %kতাদের সম্ভাব্য অংশগুলির একটিতে পরিবর্তিতযোগ্য সমস্ত অক্ষরের ম্যাপিং ( ) তৈরি করতে এলোমেলো । আউটপুট সময়, যে কীটি বিদ্যমান নেই তা অপরিবর্তিত বলে ধরে নেওয়া হয়।


পার্লের হ্যাশ কীগুলির আউটপুট ছাড়া মোটেও এলোমেলো নয়। এটি সম্পূর্ণ নির্দোষ, কেবল কীগুলি দ্বারা এমনভাবে প্রভাবিত যা ভবিষ্যদ্বাণী করা কঠিন করে তোলে। এই কোডটি প্রতিটি রানেই একই আউটপুট উত্পাদন করে। ডান্নো যে এই পদ্ধতির অযোগ্যতা দেয় কিনা।
জন বলিঞ্জার

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

ঠিক আছে, @ এক্সালি, আমি সংশোধন করে দাঁড়িয়ে আছি। তবে আপনার "অনলাইনে এটি চেষ্টা করুন!" লিঙ্ক, যা বার বার আমার জন্য একই আউটপুট উত্পন্ন করে। এটি অবশ্যই ক্যাচিং, বা কিছু হতে পারে।
জন বলিঞ্জার 21

ব্যবহার keysকরা অবশ্যই একটি ভাল পদ্ধতি, তবে আপনি sort rand 2,...পরিবর্তে 6 টি বাইট সংরক্ষণ করতে পারেন :( এটি অনলাইনে চেষ্টা করুন!
ডম হেস্টিংস



1

এপিএল (ডায়ালগ প্রসারিত) , 55 বাইট

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

{(?⍨∘≢⊇⊢)@(∊∘⍺)⊢⍵}/⌈'AjkBcdegptvzIyQuSxfMn'(⊂⍤⊢,⍨∊⊂⊣)⎕A

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

⎕A বড় হাতের বর্ণমালা

'AjkBcdegptvzIyQuSxfMn'() ডান আর্গুমেন্ট এবং বাম আর্গুমেন্ট হিসাবে নির্দেশিত স্ট্রিং হিসাবে নিম্নলিখিত বেনামে tacit ফাংশন প্রয়োগ করুন:

 বাম তর্ক জন্য,

 এটি বিভাজন, একটি নতুন বিভাগ যেখানে শুরু

 বাম আর্গুমেন্ট অক্ষরগুলি ডান আর্গুমেন্টের সদস্য (যেমন বড় হাতের অক্ষরে)

,⍨ পরিশেষে যোগ

 ঘিরা (ক একক উপাদান যেমন চিকিত্সা)  ডান যুক্তি

 বড় হাতের সবকিছু

{... }/ নিম্নলিখিত বেনামী ল্যামডা দ্বারা কমাতে, দান ... "QU"λ("SXF"λ("MN"λ"A-Z")):

⊢⍵ ডান যুক্তিতে (স্ক্র্যাম্বলিং-ইন-প্রগতি বর্ণমালা)

()@(∊∘⍺) বাম আর্গুমেন্ট (একটি ছড়া গ্রুপ) এর সদস্য যে উপসেটটিতে নিম্নলিখিত বেনামী ট্যাসিট ফাংশনটি প্রয়োগ করুন

   যে উপসেট উপর

   এটি হতে পুনরায় অর্ডার করুন

  ?⍨ সাবসেটে  বর্ণের
   দৈর্ঘ্যের
  তালিকার এলোমেলোভাবে অনুচ্ছেদ


1

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

FαF⪪”&↖(vJf#S»↖ιηa↷N↖⪪νP´↑x‖υ” F№κι‽Φκ¬№KAμ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। কাঠকয়ালের কোনও বদলকারী অপারেটর নেই, তবে আমি প্রতিস্থাপন ছাড়াই নমুনা দেওয়ার একটি পদ্ধতি নিয়ে এসেছি। ব্যাখ্যা:

Fα

বর্ণমালার প্রতিটি অক্ষরের উপর লুপ করুন।

F⪪”&↖(vJf#S»↖ιηa↷N↖⪪νP´↑x‖υ” 

স্ট্রিংগুলিতে স্ট্রিংটি বিভক্ত করুন AJK BCDEGPTVZ IY QU SXF MN H L O R Wএবং সাবস্ট্রিংগুলিতে লুপ করুন।

F№κι

বর্তমান অক্ষরটি স্ট্রিংগুলিতে প্রদর্শিত হওয়ার পরিমাণের চেয়ে লুপ। (আমি একটি লুপ ব্যবহার করি কারণ শর্তসাপেক্ষে একটি elseক্যালিউজ প্রয়োজন ।

‽Φκ¬№KAμ

একটি এলোমেলো চরিত্র মুদ্রণ করুন তবে ইতিমধ্যে মুদ্রিত হওয়াগুলি বাদ দিন।


0

অক্ষিপট , 80 বাইট

K`1A2B2C2D2E5F2GH3I1J1KL6M6NO2P4QR5S2T4U2VW5X3Y2Z
~(K`123456
.
?O`$&.¶
)`¶$
[blank line]
\d
[blank line]

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

সম্ভবত সর্বাধিক গল্ফযুক্ত পদ্ধতি নয় তবে আমি তা যাইহোক জমা দেব।

ব্যাখ্যা:

K`1A2B2C2D2E5F2GH3I1J1KL6M6NO2P4QR5S2T4U2VW5X3Y2Z

কাজের স্ট্রিং সেট করুন 1A2B2C2D2E5F2GH3I1J1KL6M6NO2P4QR5S2T4U2VW5X3Y2Z। একটি গ্রুপে প্রতিটি বর্ণের আগে একটি সংখ্যা রয়েছে, উদাহরণস্বরূপ A, Jএবং Kসবগুলি তাদের 1সামনে রয়েছে।

~(

কোডের এমন একটি অংশ চিহ্নিত করুন যা কিছু রেটিনা কোড তৈরি করবে, তারপরে এটি চালাবে।

K`123456

কাজের স্ট্রিং সেট করুন 123456

.
?O`$&.¶

প্রতিটি অক্ষর প্রতিস্থাপন করুন ?O`{character}.¶

)`¶$
[blank line]

ট্রেলিং করা নতুন লাইনটি সরান এবং কোডটি তৈরি করতে গ্রুপটি শেষ করুন। গ্রুপটি কোড তৈরি করবে:

?O`1.
?O`2.
?O`3.
?O`4.
?O`5.
?O`6.

{n}.একটি অক্ষর অনুসারে n এর সমস্ত সংখ্যার সাথে মেলে । ?Oপ্রতিটি উদাহরণ এলোমেলোভাবে সাজান এবং এটি সমস্ত অক্ষর সেটগুলির জন্য করা হয়।

\d
[blank line]

অবশেষে, সমস্ত সংখ্যা মুছে ফেলুন এবং স্পষ্টভাবে উত্পন্ন স্ট্রিং আউটপুট করুন।

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