সমস্ত 2 অক্ষর স্ক্র্যাবল শব্দ মুদ্রণ করুন


40

চ্যালেঞ্জ:

স্ক্র্যাবেলে প্রতিটি 2 টি অক্ষরের শব্দ যতটা সম্ভব কম বাইট ব্যবহার করে মুদ্রণ করুন । আমি এখানে একটি পাঠ্য ফাইল তালিকা তৈরি করেছি । নীচে দেখুন। 101 শব্দ আছে। সি বা ভি ক্রিয়েটিভ দিয়ে কোনও শব্দ শুরু হয় না, এমনকি নন ইস্টিমাল হলেও সমাধানগুলিকে উত্সাহ দেওয়া হয়।

AA
AB
AD
...
ZA

নিয়মাবলী:

  • আউটপুট শব্দগুলি কোনওভাবে পৃথক করা উচিত।
  • কেস কোনও বিষয় নয়, তবে এটি সামঞ্জস্যপূর্ণ হওয়া উচিত।
  • ট্রেলিং স্পেস এবং নিউলাইনগুলি অনুমোদিত। অন্য কোনও অক্ষর আউটপুট করা উচিত নয়।
  • প্রোগ্রামটির কোনও ইনপুট নেওয়া উচিত নয়। বাহ্যিক সংস্থান (অভিধান) ব্যবহার করা যাবে না।
  • কোনও মানক ফাঁক নেই।

শব্দ তালিকা:

AA AB AD AE AG AH AI AL AM AN AR AS AT AW AX AY 
BA BE BI BO BY 
DE DO 
ED EF EH EL EM EN ER ES ET EX 
FA FE 
GO 
HA HE HI HM HO 
ID IF IN IS IT 
JO 
KA KI 
LA LI LO 
MA ME MI MM MO MU MY 
NA NE NO NU 
OD OE OF OH OI OM ON OP OR OS OW OX OY 
PA PE PI 
QI 
RE 
SH SI SO 
TA TI TO 
UH UM UN UP US UT 
WE WO 
XI XU 
YA YE YO 
ZA

8
শব্দগুলি একই ক্রমে আউটপুট করতে হবে?
Sp3000

2
@ এসপি 3000 আমি না বলব, যদি আকর্ষণীয় কিছু চিন্তা করা যায়
Qwr

2
কোনওভাবে আলাদা হওয়া হিসাবে ঠিক কী গণনা করা যায় তা দয়া করে পরিষ্কার করুন । এটি কি সাদা স্থান থাকতে হবে? যদি তা হয় তবে অ-ব্রেকিং স্পেসের অনুমতি দেওয়া হবে?
ডেনিস


3
ভি কোন শব্দ নয়? আমার কাছে সংবাদ ...
jmoreno

উত্তর:


39

পাইথন 3, 194 188 বাইট

s="BI ODEXIF BAAX ASOHER LOXUMOPAGOR KI US AMY BOITONOSI MMEMINANEHI UPI AYAHOYOWOMUNUHAID PEFARED QIS BEN JOFETAE KAT ABYESHMALI UTI ZADOELAWE "
while s:" "in s[:2]or print(s[:2]);s=s[1:]

প্রায় অবশ্যই সংক্ষিপ্ততম পদ্ধতি নয়, তবে আমি ভেবেছিলাম এটি একটি ভাল শুরু হবে। যতটা সম্ভব ওভারল্যাপ করে প্রতিটি জোড়াকে পাথগুলিতে প্যাক করার চেষ্টা করুন (যেমন "ODEX..."= ["OD", "DE", "EX", ...])। স্পেসগুলি পৃথক পাথ পৃথক করতে ব্যবহৃত হয় এবং এর সাথে কোনও স্থান যুক্ত কোনও জোড়া সরিয়ে ফেলা হয় (পিছনের স্পেসটি হ'ল এককটি Eশেষে প্রিন্ট হওয়া থেকে রোধ করা )।

আমি রেগেক্সকে এটি গল্ফ করার চেষ্টাও করেছি তবে এটি দীর্ঘ ছিল।


1
+1 সুন্দর পদ্ধতির! আমি রুবি উত্তরের জন্য আপনার স্ট্রিং ধার
নিয়েছি

আমি ব্যাশ এবং রেজেক্স ব্যবহার করে আপনার ধারণার ভিত্তিতে একটি উত্তরও
দিয়েছি

2
+1 এর জন্য AYAHOYOWOMUNUHAID!
লেভেল নদী সেন্ট

28

সিজেম, 96 94 বাইট

0000000: 31 30 31 2c 22 5a 0a d0 fd 64 f6 07 a3 81 30 f2  101,"Z...d....0.
0000010: c2 a5 60 0c 59 0f 14 3c 01 dd d1 69 7d 66 47 6e  ..`.Y..<...i}fGn
0000020: db 54 e5 8f 85 97 de b9 79 11 35 34 21 cb 26 c3  .T......y.54!.&.
0000030: f0 36 41 2b b4 51 fb 98 48 fc cb 52 75 1f 1d b1  .6A+.Q..H..Ru...
0000040: 6b c3 0c d9 0f 22 32 36 30 62 33 36 62 66 7b 3c  k...."260b36bf{<
0000050: 31 62 32 35 6d 64 2d 35 35 7d 27 41 66 2b        1b25md-55}'Af+

উপরেরটি হেক্সডাম্প যা বিপরীত হতে পারে xxd -r -c 16 -g 1

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

কোনভাবে পৃথক হিসাবে ঠিক কী গণনা করা হয়েছে তার উপর নির্ভর করে বাইট সংখ্যাটি 93 বা এমনকি 92 তে নামানো যেতে পারে :

  • আমরা যদি প্রতিস্থাপন -55সঙ্গে 59, শব্দের অ ভঙ্গ স্থান (0xA0) দ্বারা বিভক্ত করা হবে।

  • আমরা যদি প্রতিস্থাপন -55সঙ্গে W, শব্দের (0x40)-অ্যাট চিহ্ন দ্বারা পৃথক করা হবে না।

ধারণা

আমরা xy অক্ষরের প্রতিটি জোড় (অর্ড (এক্স) - 65) × 25 + (অর্ড (ওয়াই) - 65) হিসাবে এনকোড করতে পারি । 1

ফলস্বরূপ পূর্ণসংখ্যা সংরক্ষণ করার পরিবর্তে, আমরা দুটি সংলগ্ন শব্দের সাথে বর্ণিত (জোরে বর্ণ অনুসারে বাছাই করা) সমস্ত জোড়ার পার্থক্য সংরক্ষণ করব।

সর্বাধিক পার্থক্য 35 , তাই আমরা তাদের একটি বেস 36 পূর্ণসংখ্যার অঙ্কগুলি বিবেচনা করি এবং সেই পূর্ণসংখ্যাকে আ বাইট স্ট্রিংয়ে রূপান্তর করি।

কোড

101,   e# Push [0 ... 100].
"…"    e# Push the string that encodes the differences/increments.
260b   e# Convert from base 260 to integer.
36b    e# Convert from integer to base 36 (array).
f{     e# For each I in [0 ... 100]:
       e#   Push the base 36 array.
  <    e#   Keep it's first I elements.
  1b   e#   Compute their sum.
  25md e#   Push quotient and residue of the sum's division by 25.
  -55  e#   Push -55 = '\n' - 'A'.
}      e#
'Af+   e# Add 'A' to all resulting integers. This casts to Character.

1 যেহেতু দ্বিতীয় বর্ণটি কখনই জেড হয় না , 26 এর পরিবর্তে 25 ব্যবহার করা যথেষ্ট।


14

পিএইচপি 224, 218, 210 206

foreach(explode(",","I19SR,9ZY8H,,CNK,5JRU0,H,CN4,G0H,H160,CN4,75,CU9,AMIHD,MTQP,HQOXK,7L,74,G,CXS,CU9,HTOG,,CNK,MHA8,CNL,1")as$a){$b++;for($c=0;$c<26;$c++)echo base_convert($a,36,10)&pow(2,$c)?chr(96+$b).chr(97+$c)." ":"";}
aa ab ad ae ag ah ai al am an ar as at aw ax ay ba be bi bo by de do ed ef eh el em en er es et ex fa fe go ha he hi hm ho id if in is it jo ka ki la li lo ma me mi mm mo mu my na ne no nu od oe of oh oi om on op or os ow ox oy pa pe pi qi re sh si so ta ti to uh um un up us ut we wo xi xu ya ye yo za 

অবশ্যই দুর্দান্ত স্কোর নয়, তবে আমি চ্যালেঞ্জটি পছন্দ করেছি।

আমি বিকল্পগুলির একটি সারণী তৈরি করেছি, যা অপশনগুলি বৈধ তা পতাকাঙ্কিত করার জন্য একটি বিটওয়াইজ সিস্টেম তৈরি করেছি।

এখানে চিত্র বর্ণনা লিখুন

তারপরে আমি বেস -36 স্ট্রিংটি পেতে সেই বিকল্পগুলি এনকোড করেছি:

"I19SR,9ZY8H,,CNK,5JRU0,H,CN4,G0H,H160,CN4,75,CU9,AMIHD,MTQP,HQOXK,7L,74,G,CXS,CU9,HTOG,,CNK,MHA8,CNL,1"

নোট করুন যে স্ট্রিং অ্যারে 3 য় এন্ট্রি এর কোনও মান নেই, কারণ সি এর কোনও বিকল্প নেই।

মানগুলি মুদ্রণের জন্য, আমি কেবল বৈধ বিকল্পগুলিকে অক্ষরে রূপান্তর করি।

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


টেবিলটি স্থানান্তরিত করে, আরও খালি উপাদান রয়েছে এবং ডেটাটি আরও কিছুটা সংক্ষিপ্তভাবে এনকোড করে দেয় যা কয়েকটি বাইট বন্ধ করে দেয়। অ্যারেটি এখন একটি অন্য ক্রমে মুদ্রিত হয়েছে:

foreach(explode(",","UB1YB,1,,CUP,CLMEJ,CUO,1,SG0H,5J9MR,,,H,MX01,MTXT,CYO5M,MTQ8,,CNL,MTXT,MHAP,50268,,CN5,CNL,FSZ,,")as$a){$b++;for($c=0;$c<26;$c++)echo base_convert($a,36,10)&pow(2,$c)?chr(97+$c).chr(96+$b)." ":"";} 

aa ba fa ha ka la ma na pa ta ya za ab ad ed id od ae be de fe he me ne oe pe re we ye ef if of ag ah eh oh sh uh ai bi hi ki li mi oi pi qi si ti xi al el am em hm mm om um an en in on un bo do go ho jo lo mo no so to wo yo op up ar er or as es is os us at et it ut mu nu xu aw ow ax ex ox ay by my oy

বিস্ফোরণ এবং লুপ ইঙ্গিতগুলির জন্য ইসমাইলকে ধন্যবাদ।

foreach(explode(3,UB1YB3133CUP3CLMEJ3CUO313SG0H35J9MR333H3MX013MTXT3CYO5M3MTQ833CNL3MTXT3MHAP35026833CN53CNL3FSZ)as$d)for($e++,$f=0;$f<26;$f++)echo base_convert($d,36,10)&pow(2,$f)?chr(97+$f).chr(96+$e)." ":"";

পিএইচপি 5.6 এর আপডেটের সাথে আরও 4 টি বাইট সংরক্ষণ করে pow(,)প্রতিস্থাপন করা যেতে পারে **

foreach(explode(3,UB1YB3133CUP3CLMEJ3CUO313SG0H35J9MR333H3MX013MTXT3CYO5M3MTQ833CNL3MTXT3MHAP35026833CN53CNL3FSZ)as$d)for($e++,$f=0;$f<26;$f++)echo base_convert($d,36,10)&2**$f?chr(97+$f).chr(96+$e)." ":"";

এর দ্বারা বিস্ফোরণের পরিবর্তে ","আপনি ব্যবহার করতে পারেনexplode(0,UB1YB0100CUP[...])
ইসমাইল মিগুয়েল

এনকোডিংয়ে 0s রয়েছে যেহেতু তা ভাঙ্গবে না?
জেমস ওয়েবস্টার

যাইহোক .. 3আমি ব্যবহার করতে পারেন একটি নেই ! ধন্যবাদ
জেমস ওয়েবস্টার

এছাড়াও, আপনি এটির $e++;for($f=0;$f<26;$f++)সাথে প্রতিস্থাপন করতে পারেন for($e++,$f=0;$f<26;$f++)এবং এখন আপনি সেই উদ্বেগগুলি সরাতে পারেন {}। এবং আপনি যদি অক্ষরগুলি ছোট হাতের অক্ষরে রূপান্তর করতে চান তবে ব্যবহার করুন $e^' '
ইসমাইল মিগুয়েল

ভালো বল ধরা! আমি এটা পেতাম না।
জেমস ওয়েবস্টার

8

পার্ল, 167 164 157 বাইট

"AMAEDOXUHALAXISHENUNUPABEFAHIDEMYESOHOSITAAGOYAYAWOWETOINODOREX KIFEHMMER BYONELI BOEMUS PELOMI UMOFAD BATAR KANAS JOPI UTI ZAI BI QI"=~/$_/&&say for AA..ZZ

অক্ষরগুলিকে যথাসম্ভব কমপ্যাক্ট হিসাবে একটি স্ট্রিংয়ে গ্রুপ করার জন্য একটি পৃথক স্ক্রিপ্ট লিখেছেন যাতে সমস্ত বৈধ 2 অক্ষরের শব্দ রয়েছে। এরপরে এটি দুটি বর্ণের সমস্ত শব্দের উপরে পুনরাবৃত্তি করে এবং প্রতি লাইনে একটি করে বৈধ শব্দগুলি মুদ্রণ করে। সাথে চালাও perl -M5.10.1 script.pl


আমি এটি একটি অনলাইন সংকলকটিতে কাজ করতে পারি না।
mbomb007

@ mbomb007 সংস্করণটির উপর নির্ভর করে, আপনাকে সেই সংস্করণে যুক্ত কীওয়ার্ডটি -M5.10.1ব্যবহার করতে sayবা use feature 'say';স্ক্রিপ্টের শিরোনামে যুক্ত করতে কমান্ড লাইন ফ্ল্যাগের প্রয়োজন ।
কেহোল্যান্ড

7

সি, 155 বাইট

গল্ফ সংস্করণ

i,v;main(){for(;++i-408;" >b  Ùc :oÒ¹ i ;¹ w so@)ia ¥g¨¸ ´k¦ase    Ù{§k {"[i/8]>>i%8&1||printf("%c%c%c ",i/8%2*v,i/16+65,!(i/8%2)*v))v="YUOIEMHA"[i%8];}

আউটপুট

YA HA AA BY BO BI BE BA AB DO DE OD ID ED AD YE OE HE AE FE FA OF IF EF GO AG UH OH EH AH OI HI AI JO KI KA LO LI LA EL AL MY MU MO MI ME MM MA UM OM EM HM AM NU NO NE NA UN ON IN EN AN YO HO PI PE PA UP OP QI RE OR ER AR SO SI SH US OS IS ES AS TO TI TA UT IT ET AT WO WE OW AW XU XI OX EX AX OY AY ZA

উদার সংস্করণ

গল্ফযুক্ত সংস্করণে 51-বাইট যাদু স্ট্রিং এএসসিআই 126 এর বাইরে অনেকগুলি অক্ষর রয়েছে যা প্রায় অবশ্যই ইউনিকোড সমতুল্য হয়ে পড়েছে। অরোগল্ফড সংস্করণ পরিবর্তে হেক্স ব্যবহার করে এবং আক্ষরিক পরিবর্তে ধ্রুবক হিসাবে। এছাড়াও, অরগোল্ফড সংস্করণটি একটি নতুন লাইন দিয়ে শব্দগুলি পৃথক করে, যা এক্সেলের মধ্যে অনুলিপি এবং আটকানো সহজতর করে, তালিকাটি অর্ডার করে এবং প্রয়োজনীয়টির সাথে তুলনা করে।

char a[]=
{0xFF,0x3E ,0x62,0x7F ,0xFF,0xFF ,0xEB,0x63 ,0xFF,0x3A ,0x6F,0xE3 ,0xFB,0x7F ,0xFF,0x69 ,0xFF,0x3B
,0xFB,0xFF ,0x77,0xFF ,0x73,0x6F ,0x40,0x29 ,0x69,0x61 ,0xFF,0xBE ,0x67,0xF9 ,0xF7,0xFF ,0xEF,0x6B
,0xB3,0x61 ,0x73,0x65 ,0xFF,0xFF ,0xFF,0xFF ,0xEB,0x7B ,0xF5,0x6B ,0xFF,0x7B ,0x7F};

//iterate through i = 16*letter + 8*order + vowel
i,v;main(){for(;i++-408;a[i/8]>>i%8&1||printf("%c%c%c\n",i/8%2*v,i/16+65,!(i/8%2)*v))v="YUOIEMHA"[i%8];}

ব্যাখ্যা

যদি আমরা স্বরবৃত্তের সংজ্ঞাটি 8 ম বর্ণের উচ্চতর অক্ষরে অন্তর্ভুক্ত করি তবে আমরা লক্ষ্য করি যে সমস্ত শব্দ একটি স্বর এবং অন্য একটি বর্ণ নিয়ে গঠিত (যা স্বর হতে পারে বা নাও হতে পারে)) সুতরাং, স্বরবর্ণের সমাপ্ত সমস্ত শব্দগুলির জন্য, আমরা স্বর অনুসারে পৃথক বিট সহ 26 বাইটের একটি টেবিলের প্রতিটি অক্ষরের প্রথম অক্ষরের জন্য প্রয়োজন। স্বর দিয়ে শুরু হওয়া শব্দের জন্য আমাদের একই ধরণের টেবিলের প্রয়োজন, কেবল এই মুহূর্তে আমাদের কেবল 25 বাইট প্রয়োজন, কারণ জেডে কোনও শব্দ শেষ হচ্ছে না। দুটি টেবিল একসাথে চূড়ান্ত টেবিলটি তৈরি করার জন্য riffled হয়।

অঞ্চলে 0..31 তে কোনও এএসসিআইআই কোড এড়ানোর জন্য, দুটি স্বল্পতম "স্বর" এম এবং এইচ the ষ্ঠ এবং 7th ম বিটকে অর্পণ করা হয়েছে এবং এনকোডিংটি একটি অবৈধ শব্দের জন্য 1 এবং একটি বৈধ শব্দের জন্য 0 বিবেচনা করে। যেহেতু কোনও এমনিতে ব্যঞ্জনবর্ণ নেই যা এম এবং এইচ উভয়ের সাথেই যুক্ত হয় এই বিটগুলির মধ্যে কমপক্ষে একটি বি 1 নিশ্চিত করা সম্ভব।

অ-এসসিআইআই অক্ষরগুলিকে সীমাবদ্ধ করার চেষ্টা করার জন্য অষ্টম বিটটি এটিকে সর্বাধিক সাধারণ স্বর দেওয়া হয়েছে, (এখনও এর মধ্যে অনেকগুলি রয়েছে))

ব্যবহৃত টেবিলগুলি নীচে রয়েছে। ২ টি স্বরযুক্ত শব্দের জন্য, আমি প্রথম স্বরটিকে "স্বর" হিসাবে বিবেচনা করা হয় এবং দ্বিতীয় বর্ণটিকে "বর্ণ" হিসাবে বিবেচনা করি। এর ব্যতিক্রম হ'ল এম দিয়ে শুরু হওয়া শব্দ, কারণ এটি এমএম এবং এইচএম এর মধ্যে সংঘাত এড়িয়ে চলে।

স্বর দিয়ে শুরু শব্দের হেক্স এনকোডিং

3E 7F FF 63 3A E3 7F 69 3B FF FF 6F 29 61 BE F9 FF 6B 61 65 FF FF 7B 6B 7B

AA AB    AD AE    AG AH AI       AL AM AN          AR AS AT       AW AX AY 
HA          HE          HI          HM    HO 

         ED    EF    EH          EL EM EN          ER ES ET          EX 
         ID    IF                      IN             IS IT 
         OD OE OF    OH OI          OM ON     OP   OR OS          OW OX OY 
                     UH             UM UN     UP       US UT 
YA          YE                            YO 

স্বর দিয়ে শেষ হওয়া শব্দের হেক্স এনকোডিং

 A  H  M  E  I  O  U  Y
                         FF
BA       BE BI BO    BY  62
                         FF 
         DE    DO        EB
                         FF
FA       FE              6F
               GO        FB
                         FF
                         FF
               JO        FB
KA          KI           77
LA          LI LO        73
MA    MM ME MI MO MU MY  40
NA       NE    NO NU     69
                         FF
PA       PE PI           67
            QI           F7
         RE              EF
    SH      SI  SO       B3
TA          TI  TO       73
                         FF
                         FF
         WE     WO       EB
            XI     XU    F5
                         FF
ZA                       7F

গল্ফযুক্ত সংস্করণটির হেক্সডাম্প তৈরি করতে পারে যাতে
ম্যাংলিং

7

জাভা, 484 448 407 391 389 বাইট

আমার প্রথম চেষ্টা

public static void main(String[]a){int[]x={57569742,35784706,0,2099200,5534148,35651584,2048,35792896,5247168,2048,33685504,33687552,35794978,35653664,7746958,35782656,131072,2097152,395264,33687552,551296,0,2099200,131104,35653632,33554432};for(Integer i=0;i<26;i++){for(int z=0;z<26;z++){if("".format("%26s",i.toString(x[i],2)).charAt(z)=='1'){System.out.format("%c%c ",'A'+i,'A'+z);}}}}

বিন্যাসকৃত:

public static void main(String[] a) {
    int[] x = { 57569742, 35784706, 0, 2099200, 5534148, 35651584, 2048, 35792896, 5247168, 2048, 33685504, 33687552, 35794978, 35653664,
            7746958, 35782656, 131072, 2097152, 395264, 33687552, 551296, 0, 2099200, 131104, 35653632, 33554432 };
    for (Integer i = 0; i < 26; i++) {
        for (int z = 0; z < 26; z++) {
            if ("".format("%26s", i.toString(x[i], 2)).charAt(z) == '1') {
                System.out.format("%c%c ", 'A' + i, 'A' + z);
            }
        }
    }
}

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


সুন্দর কাজ! কিছু পরামর্শ: java.lang.Exception সবেমাত্র ব্যতিক্রম বলা যেতে পারে। "আরগস" কেবল "ক" হতে পারে। স্ট্রিং.ফর্ম্যাট () ""। ফর্ম্যাট () হতে পারে। মূল ঘোষণায় কিছুটা অতিরিক্ত ব্যবধানও রয়েছে। মোটামুটি ভাল পন্থা যদিও, আমার কাছ থেকে +1 :)
16 ই

আমি সবেমাত্র মুদ্রণ বিবৃতি দিয়ে খেলছি, তবে আপনি আমাকে এটি মারধর করেছেন! আপনি \nকেবল একটি জায়গা দিয়ে প্রতিস্থাপন করে অন্য একটি বাইট সংরক্ষণ করতে পারেন । তাদের নতুন লাইন দ্বারা পৃথক করা হবে না।
জেমস ওয়েবস্টার

আপনি মুছে ফেলতে পারেন এমন কয়েকটি স্থানও মিস করেছেন।
জেমস ওয়েবস্টার

ইঙ্গিতগুলির জন্য @ জামেস ওয়েবস্টার থেক্স।
griFlo

4
"".formatদেখতে বেদনাদায়ক তবে হাসিখুশি।
কোডব্রেকার

6

রুবি, 166 বাইট

একটি কমপ্যাক্ট স্ট্রিংয়ে শব্দগুলি এনকোড করার জন্য sp3000 এর ঝরঝরে পদ্ধতি ধার করা। এখানে দু'টি অক্ষরের শব্দের মধ্যে ডিকোড করার ছোট্ট পদ্ধতিটি এখানে রয়েছে: ওভারল্যাপিং ম্যাচগুলি বের করার জন্য স্ট্রিংয়ের স্ক্যান পদ্ধতিতে রেগেক্সে লুকে হেড ব্যবহার করা হবে, স্থান সংকোচন না করে:

puts "BI ODEXIF BAAX ASOHER LOXUMOPAGOR KI US AMY BOITONOSI MMEMINANEHI UPI AYAHOYOWOMUNUHAID PEFARED QIS BEN JOFETAE KAT ABYESHMALI UTI ZADOELAWE".scan /(?=(\w\w))/

রুবি, 179 বাইট

আমার নিজস্ব পদ্ধতি: AAএবং এর মধ্যে সমস্ত দ্বি-বর্ণের শব্দ উত্পন্ন করুন ZAএবং 36 টি এনকোডযুক্ত বিটমাস্ক ব্যবহার করে বৈধ শব্দগুলি নির্বাচন করুন:

i=-1
puts ("AA".."ZA").select{|w|"djmsjr5pfw2omzrfgydo01w2cykswsrjaiwj9f2moklc7okcn4u2uxyjenr7o3ub90fk7ipdq16dyttg8qdxajdthd6i0dk8zlmn5cmdkczrg0xxk6lzie1i45mod7".to_i(36)[i+=1]>0}

6

মতলব, 177 বাইট

সমস্ত মঞ্জুরিপ্রাপ্ত জোড়ার অক্ষর সংজ্ঞায়িত করে একটি বাইনারি ম্যাট্রিক্স তৈরি করুন, এটি পুনরায় আকার দিন এবং এটি বেস -৪৪ এ এনকোড করুন। বেস -৪৪ এনকোডেড স্ট্রিং ( 'CR+ ... % ') প্রোগ্রামে ডেটা হিসাবে ব্যবহৃত হয়। ম্যাট্রিক্স আনপ্যাক করার জন্য প্রোগ্রামটি অপারেশনগুলিকে বিপরীত করে এবং তারপরে অনুমোদিত জোড়গুলি পড়ে:

x=de2bi('CR+"''        1$$ L*\"%$!! !   $!04P@<W(        0$   1"%$$100@RZP4  $$    0$ ! 1$$$$1 0  P (    $ 0 0$ ! # %  '-32)';[i,j]=find(reshape(x(1:650),26,[])');char([j i]+64)

2
ভাল এক লুই! গল্ফিং আসলে এক ধরণের মজা ... = পি
স্টিভি গ্রিফিন

1
নিস! কোনও বর্ণমালা নেই!
ব্রেইন গাইড 1

1
সালাম জানানো. এটি আমি যুগে যুগে সবচেয়ে ক্রিপ্টিক ম্যাটলব কোডটি দেখেছি ...
হকি

ধন্যবাদ বন্ধুরা! বেস -৪৪ এনকোডিংয়ের কারণে এটি কেবল ক্রিপ্টিক। সেই স্ট্রিংটি আসলে অনুমোদিত অক্ষরের জোড়গুলির 26x25 বাইনারি ম্যাট্রিক্স প্যাক করে
লুইস মেন্ডো

6

মালবোলজ , 2118 বাইট

D'``_#>nI||38h6/vdtO*)_^mI7)"XWfB#z@Q=`<)\xwvuWm32ponmfN+ibJfe^$\[`Y}@VUySXQPUNSLpJINMLEiC+G@EDCB;_?>=}|492765.R210p(-,+*#G'&feB"baw=u]sxq7Xnsrkjoh.fNdchgf_%]\a`Y^W{>=YXWPOsSRQ3OHMLKJIBfF('C<`#"8=<;:3W1w5.R2+q/('&J$)"'~D$#"baw=utsxq7Xnsrkjoh.fNdchgf_%c\D`_X|\>=YXWPOsSRQ3OHMLKJIBfFEDC%$@9]=6|:32V6/.3210)M-m+$)"'&%|Bcb~w|u;yxwvuWm3kpinmfe+ihgfH%cb[ZY}]?UZYRWVOs65KPIHGkKJIH*)?c&BA@?8\6|:32V6/.3210)M-,lk)"F&feBzbxw=uzyrwpon4Ukpi/mfkdc)g`ed]#DZ_^]VzZ<;QPt7MLQPOHlFEJIHAe(>C<;_?>765:981Uv.32+*)Mnm%$)(!Efe{zy?}|{zyxqpo5mrkpoh.fNdihg`ed]#DZ_^]Vz=YRQuUTMqQ32NMLEDhHG@(>C<;_?>76;:3W76v43,+O/.nm+*)"Fgf${z@a}v{zyr8vo5Vrqj0nmfN+Lhg`_%cbDCY}@VUySRWPt76Lp3ONMLEDhHG@(>C<;_"8\6|:32V0v.Rs10/.'&+$H('&feB"!x>|^]srwvun4Ukpi/gfe+Lbaf_%cE[`Y}@?[TxRWPUNMLKo2NGFjD,BAeED&<A:^>=6|:32V6v.R21*/(L,+*#"!E}|{z@xw|{t:[qpotsrk1Rhmlkd*Kgfe^$bDZ_^]VzZ<;QuUTMqKJOHGkEJCBA@dD=<;:^>=6|:32V654t,+O).',+*#G'&feBzbx>|^]yr8vXnsrkjoh.fkdcbg`&^Fba`Y^WVzZ<XWPUTMqQ3INMFjD,BAe?>=B;_9>7<54X8765u-Q10)o'&J$)"!~%${A!x}v<]\xwpun4rTpoh.leMchgf_d]#DZ_^]VzZYR:Pt7SLKPOHlFEJIHAeED&<`@"87<5Y98165.3,P*/(-&+$H(!~}C#c!x}|u;\[wvun4lTjih.fN+Lbgfe^c\"CY}@VUyYXWPOsSRKJIHlLE-IBAeE'&<`@"87<5Y98165.3,Pq/.-,+*#G'&fe#"!x>|{zyr8Yotml2ponPlkdcb(fH%]\[`Y^W{zZ<XWPUTMq4JIHMLEi,BA@d>=B;:9]7};:3W7wv.3,+O)o'&J*)('g%${Ay~}v{zyrq7otmrqpoh.fejiha'eG]\[ZY}@VUy<;WVOsSRQPImM/KJIBAe(>=aA:^>=6|:32V65u-Qr0/.'K+$j"'~De#zy~wv<]yrqpo5srkjohg-kdib(feG]b[Z~^]\UTYRvP8TSRKJIHlLKD,BAe?>=B;_?>7<;:981U54t,+O)o'&Jkj('&}C#"bx>_{tyr8vuWVl2pihgle+ihgfH%cEDZ~XWVUy<XWPUTMqQP2NGLEiCBGF?>b%A@?87[;:zy1U54t210/.'K+$j"'~De#zy~wv<zyxwp6Wmlqpohg-kdib(feG]ba`Y^W{>=YXWPOs65KJIHl/KJIBA@dDCB;:9]=<;:zy1Uvu3,P0)o'&J$#(!~D|#"y?}v{zyr8vXnml2ponPledc)gfH%c\D`_^]VzZ<;QVOTSLpPIHGkKJCBG@dD=<;:^>=6|:32Vw543,+*N.nm+*)"F&feB"y~}|{ts9qvonsl2ponmfN+Lha`e^$\[Z_X|\UTYRQVOsM5KJOHGFjD,BA@d>=B;:9]=};4X81w5.R210)o'&J$j"'~%|{"y?w_u;y[wpun4Ukponmfe+Lha'eGc\[!B^WV[TxXQ9ONrRQ32NMLEDh+AeE'&<`#"8=<;:3W7wv.3,+O/.'m+*)(!EfeBcbx>_{tsxwvun4Ukpi/POkdcha'_d]#DZ_^]VzZ<RQPUNMqQ3ONGkE-IBAeED=BA:9]=<|43870/St,+O/.-ml*)(!Ef|Bcb~w|u;y[Zvun4rTpoh.fN+cKgf_%cE[!BXWV[ZSwWP8TSLpJIHMLEJIBf)d'=aA@">=<5Y98165.3,Pq)('K%*#"!EfeBcyxwvu;yxwvuWm3~

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


5

বাশ, 179 বাইট

echo U`sed -r 's/./& &/g'<<<HAABADEDOEFAEHELAGOFEMAHINAISHMENERESITALOHOMMONOPAMUMYAWETOSOWOYOXUNUPEXI`F `grep -o ..<<<ANARASATAXAYBEBIBOBYJOKAKILIMIOIDOIDORPIQITIUSUTYEZA`
  • অ্যাডাম কাটজ মন্তব্যে 7 বাইট সংরক্ষণ করা হয়েছে

এটি sedregex প্রতিস্থাপন করতে ব্যবহার করে। প্রথম রেজেক্স ইনপুট স্প 3000 ধারণার উপর ভিত্তি করে যখন দ্বিতীয় রেজেক্স ফাঁকা ছাড়াই সাধারণ ইনপুট ব্যবহার করে।

ব্যাখ্যা:

echo              print to standard output the following
U                 boundary U character
sed -r [etc]      the result of replacing regex
    .             select a character
    & &           replace it for: matched char, space, matched char
    g             do it globaly for every character
    <<<HAAB[etc]  string input based on Sp3000 idea => HA AA AB ...
F                 boundary F character
sed -r [etc]      the result of replacing regex
    ..            every two characters
    <space>&      for space+matched character
    g             do it globally
    <<<ANAR       normal input => AN AR ...

1
আপনি একটি স্থান ব্যবহার সাত বাইট যে সঙ্কুচিত এবং তারপর পারেন `grep -o ..স্থানে `sed -r 's/ / &/g'থেকে একটি কৌতুক আমার উত্তর নিচে।
অ্যাডাম কাটজ

5

সতর্কতা, এই উত্তর প্রোগ্রামক্রমে আকর্ষণীয় নয়।

যেহেতু সমস্ত শব্দ দুটি অক্ষর দীর্ঘ, আমরা এগুলি সমস্ত একসাথে ছড়িয়ে দিতে পারি এবং তারপরে একটি সাধারণ নিয়মিত অভিব্যক্তি ব্যবহার করে আবার তাদের ছিঁড়ে ফেলা পারি।

যে কোনও রেজেক্স-বান্ধব ভাষা এটি করতে পারে, অন্যদের চেয়ে কিছুটা দক্ষতার সাথে:

গ্রেপ (বাশের মাধ্যমে), 215 বাইট

grep -o ..<<<AAABADAEAGAHAIALAMANARASATAWAXAYBABEBIBOBYDEDOEDEFEHELEMENERESETEXFAFEGOHAHEHIHMHOIDIFINISITJOKAKILALILOMAMEMIMMMOMUMYNANENONUODOEOFOHOIOMONOPOROSOWOXOYPAPEPIQIRESHSISOTATIT

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

alert("AAABADAEAGAHAIALAMANARASATAWAXAYBABEBIBOBYDEDOEDEFEHELEMENERESETEXFAFEGOHAHEHIHMHOIDIFINISITJOKAKILALILOMAMEMIMMMOMUMYNANENONUODOEOFOHOIOMONOPOROSOWOXOYPAPEPIQIRESHSISOTATITOUHUMUNUPUSUTWEWOXIXUYAYEYOZA".match(/../g))

পার্ল, 225 বাইট

 $_="AAABADAEAGAHAIALAMANARASATAWAXAYBABEBIBOBYDEDOEDEFEHELEMENERESETEXFAFEGOHAHEHIHMHOIDIFINISITJOKAKILALILOMAMEMIMMMOMUMYNANENONUODOEOFOHOIOMONOPOROSOWOXOYPAPEPIQIRESHSISOTATITOUHUMUNUPUSUTWEWOXIXUYAYEYOZA";s/../$&\n/g;print

পাইথন, 245 বাইট

import re
print re.sub(r'..','\g<0>\n',"AAABADAEAGAHAIALAMANARASATAWAXAYBABEBIBOBYDEDOEDEFEHELEMENERESETEXFAFEGOHAHEHIHMHOIDIFINISITJOKAKILALILOMAMEMIMMMOMUMYNANENONUODOEOFOHOIOMONOPOROSOWOXOYPAPEPIQIRESHSISOTATITOUHUMUNUPUSUTWEWOXIXUYAYEYOZA")

 


একটি নোট হিসাবে, এখানে কয়েকটি উত্তর এর চেয়ে লম্বা echo, যা আমি একটি বেসলাইন বিবেচনা করব:

পসিক্স শেল, 307 বাইট

echo AA AB AD AE AG AH AI AL AM AN AR AS AT AW AX AY BA BE BI BO BY DE DO ED EF EH EL EM EN ER ES ET EX FA FE GO HA HE HI HM HO ID IF IN IS IT JO KA KI LA LI LO MA ME MI MM MO MU MY NA NE NO NU OD OE OF OH OI OM ON OP OR OS OW OX OY PA PE PI QI RE SH SI SO TA TI TO UH UM UN UP US UT WE WO XI XU YA YE YO ZA

3
ব্যবহারিক হওয়ার জন্য +1। সত্যই, বেস প্রতিধ্বনি প্রদান প্রত্যেকটি যে বিন্দু থেকে শুরু করা উচিত is

সহজ উত্তরের জন্য +1, তবে আপনি যে প্রতিযোগিতামূলক হিসাবে চিহ্নিত করা উচিত, তাই না?
ম্যাথু রোহ

@ ম্যাথেরহোহ - যদি কোনও লিডার-বোর্ড পার্সার থাকতেন তবে সম্ভবত ইচ্ছাকৃতভাবে কোনও শিরোনাম শুরু না করায় এটি কিছু খুঁজে পেতে পারে না। আমি চিন্তিত নই, বিশেষত যেহেতু আমি পোস্ট করেছি প্রতিটি ভাষার জন্য সংক্ষিপ্ত উত্তর রয়েছে।
অ্যাডাম কাটজ

3

সি - 228 217 বাইট - জিসিসি

 _;main(){char *z,*i="AABDEGHILMNRSTWXY AEIOY  EO DFHLMNRSTX AE O AEIMO DFNST O AI AIO AEIMOUY AEOU DEFHIMNPRSWXY AEI I E HIO AIO HMNPST  EOU IEO A A ";for(z=i;_++^26;)for(;*++z^32;putchar(_+64),putchar(*z),puts(""));}

আমি যদি এটি আরও ছোট করে পেতে পারি তবে আপডেট হবে, কেবলমাত্র gcc -w, ./a.out আউটপুটগুলি পুরোপুরি সংকলন করুন। নিরপরাধদের মধ্যে যদি কোনও আগ্রহ থাকে তবে আমাকে জানান।

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


কয়েকটি পরামর্শ এখানে রইল, এটি আমার পক্ষে ঠিক আছে (কেবল অনুলিপি করুন এবং কাস্ট করবেন না, এক্সচেঞ্জ অদ্ভুত নিয়ন্ত্রণ অক্ষরগুলিকে মন্তব্যে সন্নিবেশ করান) _;main(){char*z="AABDEGHILMNRSTWXY AEIOY EO DFHLMNRSTX AE O AEIMO DFNST O AI AIO AEIMOUY AEOU DEFHIMNPRSWXY AEI I E HIO AIO HMNPST EOU IEO A A ";for(;_++^26;)for(;*++z^32;printf("%c%c ",_+64,*z));}আমি আউটপুট ডিলিমিটারটিকে একটি নতুন লাইনে একটি স্পেসে পরিবর্তন করেছি, তবে আপনি যদি একটি নতুন লাইন পছন্দ করেন (এক অতিরিক্ত বাইট) প্রিন্টফ ফর্ম্যাট স্ট্রিং এ পরিবর্তন করুন"%c%c\n"
স্তর নদী সেন্ট

3

সি #, 348 বাইট

আমার যেতে হয়েছিল:

using System;class A{static void Main(){var a=new System.Collections.BitArray(Convert.FromBase64String("tnOciwgCCAAAAAggAFBxHIkAAAAACICIKABQQBgAAAIgIACAgCAAIqIgigCCADfWuIgAAAACAIAAAAAwCICAIAAAYRkAAAAAAggAgAAIIoAACA=="));int c, d;for(var i=0;i<652;i++){if(a[i]){c=Math.DivRem(i,26,out d);Console.Write("{0}{1} ",(char)('A' + c),(char)('@' + d));}}}}

Ungolfed:

using System;

class A
{
    static void Main()
    {
        var a = new System.Collections.BitArray(Convert.FromBase64String(
            "tnOciwgCCAAAAAggAFBxHIkAAAAACICIKABQQBgAAAIgIACAgCAAIqIgigCCADfWuIgAAAACAI" + 
            "AAAAAwCICAIAAAYRkAAAAAAggAgAAIIoAACA=="));
        int c, d; 
        for(var i = 0; i < 652; i++)
        {
            if(a[i])
            {
                c = Math.DivRem(i, 26, out d);
                Console.Write("{0}{1} ", (char)('A' + c), (char)('@' + d));
            }
        }
    }
}

4
এটি একটি কোডগল্ফ চ্যালেঞ্জ, সুতরাং আপনার বাইট-কাউন্ট (আপনার কোডের দৈর্ঘ্য) পোস্ট করা উচিত। এটিকে কিছুটা ছোট করার চেষ্টা করুন, উদাহরণস্বরূপ সাদা স্থান সরিয়ে দিয়ে।
জাকুব

@ জাকুব, এটি আরও ভাল?
জোডরেল

হ্যাঁ, ঠিক আছে
জাকুব

3

পাইথ , 140 বাইট

K"aeiou"=H+-G+K\zKL.[`Z25.Bib32jdSfTs.e.e?nZ`0+@Gk@HY""byMc"ljjns 1u  a 6jji0 o 2 100u 60hg0 2 k m 101v r 6hr7c s 4 8 g006 m hpg0  a 5 q g"d

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

সংক্ষিপ্তকরণ পদ্ধতি: যেহেতু Zকোনও শব্দের দ্বিতীয় অবস্থানে bcdfghjklmnpqrstvwxyaeiouনেই, সুতরাং প্রতিটি অক্ষরের দ্বিতীয় অক্ষর হিসাবে সেই অক্ষরের প্রতিটিটির বৈধতা এনকোড করতে পুনরায় সাজানো বর্ণমালাটি ব্যবহার করুন (প্রথম অক্ষর বর্ণানুক্রমিক ক্রমে রয়েছে)।
এটি প্রতি চিঠিতে 25 বিট বা ঠিক 5 বেস -32 সংখ্যা। যেহেতু বেশিরভাগ ব্যঞ্জনা কেবল দ্বিতীয় অক্ষর হিসাবে স্বর গ্রহণ করে, তাই আমি তাদের জন্য বেশিরভাগ 1-সংখ্যার নম্বর পেতে স্বরবর্ণকে শেষে রেখেছি। আমি নিশ্চিত যে বর্ণমালাটির আরও বিশ্লেষণ এবং পুনর্বিন্যাসের মাধ্যমে এটি সামগ্রিকভাবে উন্নত হতে পারে, যদিও এরপরে পুনরায় সাজানো বর্ণমালার সংজ্ঞাটি আরও বাইট গ্রহণ করতে পারে।

ব্যাখ্যা

K"aeiou"=H+-G+K\zK # Define the reordered alphabet
K"aeiou"           # K := "aeiou"
        =H         # H :=
           -G      #      G.removeAll(
             +K\z  #                   K + "z" 
          +      K #                           ) + K

L.[`Z25.Bib32      # Define a lambda function for decompression
L                  # y = lambda b:
         ib32      # convert b to int using Base 32
       .B          # convert to binary string
 .[`Z25            # pad to the left with "0" to the nearest multiple of 25 in length

                           c"..."d # split the compressed string on " "
                         yM        # Apply y (above lambda) to each element
                                   #   Intermediate result: List of binary strings
                                   #   with 1s for allowed combinations
      .e                           # map over ^ lambda b (current element), k (current index):
        .e              b          # map over b: lambda Z (cur. elem.), Y (cur. ind.):
               +@Gk@HY             # G[k] + H[Y] (G is the regular alphabet)
          ?nZ`0       ""           #     if Z != "0" else ""
     s                             # combine into one large list
   fT                              # remove all falsy values (empty strings)
  S                                # sort (if any order is possible, remove this)
jd                                 # join on spaces (if a normal list with the words is
                                   #   allowed, remove this)

2

পিএইচপি: 211 209 204

আপনাকে সতর্কতা বন্ধ করতে হবে, অন্যথায় কেউ এর অন্তর্নিহিত সৃষ্টির ক্ষেত্রে মুদ্রণ করবে $b

for($a=65;$b<strlen($c="ABDEGHILMNRSTWXY!AEIOY!EO!DFHLMNRSTX!AE!O!AEIMO!DFNST!O!AI!AIO!AEIMOUY!AEOU!DEFHIMNPRSWXY!AEI!I!E!HIO!AIO!HMNPST!EO!IU!AEO!A");$b++)if($c[$b]!='!')echo chr($a).$c[$b].' ';else$a++;

খুব মজা. প্রারম্ভিক প্রচেষ্টা 250 রেঞ্জে ছিল, তবে এটি এখনও আমার পাতলা।


2
ব্যবহার করে দেখুন এই বাইট কাউন্টার । লক্ষ্য করুন হোয়াইটস্পেস কাউন্টিং বন্ধ করে রাখলে ভুল, যেহেতু এটি আপনাকে স্ট্রিং আছে কোনো শূণ্যস্থান ডিসকাউন্ট, তাই আপনার স্কোর চেয়ে বেশি 186. হওয়া উচিত
Sp3000

ভালো বল ধরা. আমি সেই অনুযায়ী আমার
জমাটি

আমি কেন দেখতে পাচ্ছি না .. তবে এটি এখন "এএএএএ ..." প্রিন্ট করে
জেমস ওয়েবস্টার

আপনি !যদি এটি বাইরে নিয়ে এসেছেন .. আপনার এটি দরকার ছিল।
জেমস ওয়েবস্টার

ঠিক। আমি সবেমাত্র এটি লক্ষ্য করেছি। আমি ব্যবহার করছিলাম! ডিলিমিটার আগে এবং আমি প্রথমে কী হবে তা বিবেচনা না করে দ্রুত অনুসন্ধান-প্রতিস্থাপন করেছি।
নিক

2

সিজেএম (99 বাইট)

এটিতে কয়েকটি বিশেষ অক্ষর অন্তর্ভুক্ত রয়েছে, সুতরাং একটি হ্যাক্সডাম্প দেওয়া সবচেয়ে নিরাপদ। (বিশেষত, মানহীন চরিত্রটি 0xa0, একটি অ-ব্রেকিং স্পেসের সাথে সম্পর্কিত, অনলাইন ডেমো সেট আপ করতে আমাকে বেশ খানিকটা ঝামেলা সৃষ্টি করেছিল)।

00000000  36 37 36 22 c4 b2 2d 51  3f 04 93 5c 64 6c 8d 6e  |676"..-Q?..\dl.n|
00000010  d7 f9 7d 97 29 aa 43 ef  04 41 12 e1 aa ce 12 4d  |..}.).C..A.....M|
00000020  05 f3 1c 2b 73 43 a0 f0  41 c0 a7 33 24 06 37 a3  |...+sC..A..3$.7.|
00000030  83 96 57 69 9b 91 c4 09  c3 93 e1 ed 05 3b 84 55  |..Wi.........;.U|
00000040  d9 26 fd 47 68 22 32 35  36 62 33 38 62 7b 31 24  |.&.Gh"256b38b{1$|
00000050  2b 7d 2f 5d 7b 32 36 62  28 3b 36 35 66 2b 3a 63  |+}/]{26b(;65f+:c|
00000060  4e 7d 2f                                          |N}/|
00000063

অনলাইন ডেমো

পদ্ধতিটি বেস -26-এ পার্থক্য-এনকোডিং।


একটি পূর্ণসংখ্যার সাথে একটি অক্ষর যুক্ত করা একটি অক্ষর দেয়, যাতে আপনি এটির 65f+:cসাথে প্রতিস্থাপন করতে পারেন 'Af+
ডেনিস

সত্য। এবং mdএটি একটি উজ্জ্বল উন্নতি, তবে আমার উত্তরটি আপনার কাছে কতটা কাছাকাছি তা আমি বুঝতে পারি নি।
পিটার টেলর

2

সিজেম, 100 98 বাইট

'A'@" ©Ô&ñ±ð¨9_AÚá¼thÁätÑû¨HÙH&J3p¼ÛèVçckùá%´}xà41"260bGb{_{+N2$2$}{;;)'@}?}%-3<

(পার্মালিঙ্ক)

  • প্রিনিটালাইজড ভেরিয়েবলের মাধ্যমে দুটি বাইট সংরক্ষণ করেছেন (ধন্যবাদ ডেনিস!)

এটি আমার প্রথম সিজেএম এন্ট্রি, তাই সম্ভবত আরও কিছু গল্ফ হওয়ার সম্ভাবনা রয়েছে। তবে, আমি characters৩ বাইটের নীচে অক্ষরের তালিকাটি সংক্ষিপ্ত করার একটি উপায় নিয়ে এসেছি, আশা করি, অন্য কেউ সহায়ক পাবেন।

কম্প্রেশন পদ্ধতি

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

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

যেহেতু এই ক্ষেত্রে পার্থক্যগুলি কখনই 15 এর বেশি হয় না, তাই আমরা বেস -16 ব্যবহার করতে পারি এবং প্রতিটি (8-বিট) বাইটে দুটি (4-বিট) আইটেম প্যাক করতে পারি। (প্রকৃত কোডে আমি মুদ্রণযোগ্য অক্ষরের সমস্যাগুলি এড়াতে বেস -২66 এর পরিবর্তে বেস -২0০ থেকে রূপান্তর করেছি))


আপনি ব্যবহার করে কয়েকটি বাইট সংরক্ষণ করতে পারেন Gএবং Nযা 16 এবং একটি লাইনফিড পুশ করে।
ডেনিস

@ ডেনিস ধন্যবাদ, ভেরিয়েবলগুলি পূর্বনির্ধারিত ছিল বুঝতে পারিনি!
2012 ক্র্যাম্পিয়ন

1
সমস্ত 26 বড় হাতের অক্ষর পূর্বনির্ধারিত পরিবর্তনশীল। আপনি এখানে সম্পূর্ণ তালিকা দেখতে পারেন ।
ডেনিস

আপনি এর %-3<সাথে /;;বা এমনকি প্রতিস্থাপন করে আরও বাইট সংরক্ষণ করতে পারেন /&। (দ্বিতীয় বিকল্পটি একটি ত্রুটি বার্তা উত্পন্ন করবে me মেটা সম্পর্কে একমত হ'ল এটি করা ঠিক))
ডেনিস

2

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

বেশ গল্ফযোগ্য, তবে আমি এতে খুব বেশি প্রচেষ্টা করি নি।

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

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


এক কিছুর জন্য, আপনি নতুন লাইনের হাত থেকে মুক্তি পেতে পারেন
জো কিং

@ জোকিং আমি কাউকে ছাড়িয়ে যেতে পারার আসল উপায় নেই, আমি মনে করি না এই বড় স্কেলের কয়েকটা বাইট ছাঁটাই করার কোনও বুদ্ধি আছে।
ক্রিজিসটফ স্জেউজিক

2

Zsh, 175 বাইট

এই সমাধানটিতে একটি 125-চর স্ট্রিং ব্যবহার করা হয়, যেখানে ছোট হাতের অক্ষরগুলি সীমানার হিসাবে কাজ করে এবং নিম্নলিখিত অক্ষরের মূল ক্রমের প্রথম অক্ষর হিসাবে কাজ করে।

আমরা চিঠিগুলি দিয়ে পুনরাবৃত্তি $L। বর্তমান চিঠি যদি $XASCII তুলনার ছোট হাতের অক্ষরে হয়, সেট $Wকরতে $X। অন্যথায়, বর্তমান শব্দটি তৈরি করতে মুদ্রণ $Wসম্মিলিত $X

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

L=aABDEGHILMNRSTWXYbAEIOYdEOeDFHLMNRSTXfAEgOhAEIMOiDFNSTjOkAIlAIOmAEIMOUYnAEOUoDEFHIMNPRSWXYpAEIqIrEsHIOtAIOuHMNPSTwEOxIUyAEOzA
for X in ${(s::)L};{((#X>90))&&W=$X||<<<$W$X:l}

সম্পাদনা: যোগ :lসেটে ধারাবাহিকভাবে ছোট হাতের অক্ষরে প্রতি প্রয়োজন
Edit2: -4 ব্যবহার বাইট $Xপরিবর্তনশীল এবং যদি সরলীকৃত [[..]]শর্ত
Edit3: উদ্ধৃতি (সরিয়ে -4 বাইট ")
Edit5: -5 পরিবর্তে অ্যারে রূপান্তর ব্যবহার উপর iterating এর বাইট Lনিচে প্রতি
Edit4: জন্য একটি বিকল্প পদ্ধতির 182 বাইট , প্রথম 33 টি অক্ষরে বিপরীত স্ট্রিংগুলি ব্যবহার করে, $Lকেবলমাত্র 107 অক্ষর

L=aBHLMNTYdEOeFHMNRhOiSTmOUnOUoSWYaADEGIRSWXbEIOYeLSTXfAgOhIMiDFNjOkAIlIOmIMYoEFIPRXpAEIqIsHtOuHPSTwExIUyEzA
for ((;i++<$#L;))X=$L[i]&&((#X>90))&&W=$X:u||<<<$W$X`((i<34))&&<<<\ $X$W`

2

স্ট্যাক্স , 91 বাইট

âG→æ£ilæα¿:√▒▓uøD¶[│█æä║¢v┼T↨σªΩ■&*φòb¡CÆ?ì▀┬6ù═╦±qBF!╘π╓╙'♣*ù&↕!£ä3±r⌡W-╓D╬☺╝ï╜²á5Æ÷§═ôφF;

এটি চালান এবং এটি ডিবাগ করুন

এই উত্তরটি কেবলমাত্র ঝরঝরে কৌশল ব্যবহার করে প্রতিটি শব্দের জন্য এটি সংরক্ষণ না করে প্রথম অক্ষরে পরিবর্তন দেখাতে "," টোকেন ব্যবহার করে।

এম অপারেটরটি ব্যবহার করার ধারণার জন্য পুনরাবৃত্তিকে ধন্যবাদ


সুন্দরভাবে সম্পন্ন. আমি দেখতে পাচ্ছি এমন কয়েকটি ছোট্ট অপ্টিমাইজেশন রয়েছে। Mপরিবর্তে ব্যবহার করুন 1/এবং mসুস্পষ্ট পূর্বাভাস এবং মুদ্রণের পরিবর্তে একটি শর্টহ্যান্ড মানচিত্র ব্যবহার করুন { ... PFএই এক প্যাকগুলি 89. করতে
রিকার্সিভ

1

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

s='';i=int("AQHU9HU1X0313T1J9OMYMZZSRFWLCYT3POSE06UGHXDZN6H5SQSZIFCE6VEB",36)
for c in range(26):
 b=i%6;i//=6;k=(1<<b)-1;j=i%(1<<k);i>>=k
 for d in 'AOIEHMUSTMNDFPYBCGJKLQRVWXZ':
  if j&1:s+=chr(c+65)+d+' '
  j>>=1
print s

প্রতিটি সম্ভাব্য প্রথম অক্ষরের জন্য কোন দ্বিতীয় অক্ষর বিদ্যমান তা এনকোড করতে ভেরিয়েবল দৈর্ঘ্যের বিট মাস্কগুলি ব্যবহার করে। বিট মাস্কগুলি 0,1,3,7,15 বা 31 বিট দীর্ঘ হতে পারে। বিটগুলি অক্ষরগুলিতে ম্যাপ করা হয় for d in 'AOIEHMUSTMNDFPYBCGJKLQRVWXZ':, আগের বিটগুলি আরও সাধারণ অক্ষরের জন্য ব্যবহৃত হয় যাতে বিট মাস্কগুলি বেশিরভাগ ক্ষেত্রেই সংক্ষিপ্ত হতে পারে (বেশিরভাগ ব্যঞ্জনামুলি কেবল 5 টি স্বর বা ওয়াইএম বা এইচ এর মধ্যে একটি অনুসরণ করে)। দুর্ভাগ্যক্রমে এটিকে ডিকোড করার কোডটি আরও সহজ পদ্ধতির তুলনায় সঞ্চয়কে অগ্রাহ্য করে (মূল তালিকাটি কেবল 303 বাইট)।


1
আমি আবিষ্কার করেছি এটি এনকোড করা ভাল যে আমার সমাধানে প্রতিটি সম্ভাব্য দ্বিতীয় অক্ষরের জন্য কোন প্রথম অক্ষর বিদ্যমান । আপনার চেষ্টা করার মত হতে পারে।
জেমস ওয়েবস্টার

1

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

putStr$(\(a:b)->((a:).(:" "))=<<b)=<<words"AABDEGHILMNRSTWXY BAEIOY DEO EDFHLMNRSTX FAE GO HAEIMO IDFNST JO KAI LAIO MAEIMOUY NAEOU ODEFHIMNPRSWXY PAEI QI RE SHIO TAIO UHMNPST WEO XIU YAEO ZA"

স্ট্রিংয়ের প্রতিটি স্থান পৃথক শব্দের জন্য প্রথম অক্ষরটি অন্য সমস্ত বর্ণের সামনে রেখে একটি স্থান যুক্ত করুন, যেমন SHIO-> SH SI SO


1

জাভা, 334 বাইট

public class C{public static void main(String[]a){for(int i=0;i<26;i++){for(int j=0;j<26;j++){if(java.util.BitSet.valueOf(java.util.Base64.getDecoder().decode("2znORQQBBAAAAAQQAKg4jkQAAAAABEBEFAAoIAwAAAEQEABAQBAAEVEQRQBBgBtrXEQAAAABAEAAAAAYBEBAEACAsAwAAAAAAQQAQAAEEUAABA==")).get(i*26+j)){System.out.format("%c%c\n",'a'+i,'a'+j);}}}}}

বিন্যাসকৃত:

public class Code {
    public static void main(String[] a) {
        for (int i = 0; i < 26; i++) {
            for (int j = 0; j < 26; j++) {
                if (java.util.BitSet.valueOf(
                        java.util.Base64.getDecoder()
                            .decode("2znORQQBBAAAAAQQAKg4jkQAAAAABEBEFAAoIAwAAAEQEABAQBAAEVEQRQBBgBtrXEQAAAABAEAAAAAYBEBAEACAsAwAAAAAAQQAQAAEEUAABA=="))
                        .get(i * 26 + j)) {
                    System.out.format("%c%c\n", 'a' + i, 'a' + j);
                }
            }
        }
    }
}

পৃথকভাবে, আমি শব্দের তালিকাটি 26x26 = 676 বিটসেটকে দৈর্ঘ্যের মধ্যে এনকোড করেছি, এটিকে বাইট অ্যারেতে রূপান্তর করেছি এবং শেষ পর্যন্ত বেস 64 এ That এবং শেষ পর্যন্ত শব্দগুলির তালিকা মুদ্রণ করুন


1

জাভা, 356 বাইট

শব্দগুলি পেতে এলোমেলো নম্বর জেনারেটর ব্যবহার করে:

import java.util.Random;class X{public static void main(String[]a){int j,n,m=9,x;for(String u:"rgzza 2u2hh r2rxs qs5f fwiag 26i33y 2xqmje 5h94v 16ld2a 17buv 4zvdi 1elb3y 2t108q 5wne9 1mrbfe 1ih89 fh9ts r0gh".split(" ")){x=Integer.parseInt(u,36);Random r=new Random(x/2);j=m-=x%2;while(j-->0){n=r.nextInt(676);System.out.format(" %c%c",65+n/26,65+n%26);}}}}

Ungolfed:

import java.util.Random;
class X{
    public static void main(String[]a){
        int j,n,m=9,x;
        for(String u:"rgzza 2u2hh r2rxs qs5f fwiag 26i33y 2xqmje 5h94v 16ld2a 17buv 4zvdi 1elb3y 2t108q 5wne9 1mrbfe 1ih89 fh9ts r0gh".split(" ")){
            x=Integer.parseInt(u,36);
            Random r=new Random(x/2);
            j=m-=x%2;
            while(j-->0){
                n=r.nextInt(676);
                System.out.format(" %c%c",65+n/26,65+n%26);
            }
        }
    }
}

আপনি এটি এখানে চেষ্টা করতে পারেন: http://ideone.com/Qni32q


1

পার্ল, 248 বাইট

@v=split(//,"AEIOU");@s=split(' ',"ADEGIRSWX LSTX DFN EFIPRX HPST BHLMNTY DFHMNR ST DHMNSWY MN ZFKP WYPB KQXLHPMB LGJTB X");for(0..14){foreach $c(split(//,@s[$_])){$_<10?print @v[$_%5].$c." ":a;$_>4?print $c.@v[$_%5]." ":a;}}print "MM MY BY HM SH";

প্রথমবার পার্ল (এবং প্রথমবারের মতো গল্ফিং) ব্যবহার করা, যাতে অবশ্যই উন্নতির অবকাশ রয়েছে। স্বরগুলি তৈরি করে এবং ফলাফলগুলি কীভাবে তৈরি হয়েছিল তার উপর ভিত্তি করে বাকী অক্ষরগুলিকে গোষ্ঠীভূত করল - স্বর প্রথম, শেষ বা উভয় স্বর প্রথম এবং শেষ দুটি যুক্ত করে তালিকায় একটি শব্দ তৈরি করে।


আমি পার্লকে চিনি না, তবে আমি ধরে নিই যে আপনি আউটপুট ফাঁক করে আলাদা করছেন। এটি "MM "."MY "."BY "."HM "."SH "ছোট করা যেতে পারে বলে মনে হচ্ছে "MM MY BY HM SH"
স্তর নদী সেন্ট

@ স্টিভেভারিল ধন্যবাদ! আমি বাকী কোডটিতে এতটা ধরা পড়ে গেলাম যে আমি তা কতটা অপ্রয়োজনীয় তা উপেক্ষা করেছি।
ভয়েসফফলি

1

জাভাস্ক্রিপ্ট (ES6), 214

এটি করার সবচেয়ে সংক্ষিপ্ত উপায় না হলেও অবশ্যই আকর্ষণীয়।

_=>(i=0,[...'ABDEFGHILMNOPRSTUWXY'].map(z=>[...`ABFHKLMNPTYZ
A
AEIO
ABDFHMNOPRWY
EIO
A
AEOSU
ABHKLMOPQSTX
AE
AEHMOU
AEIOU
BDGHJLMNSTWY
OU
AEO
AEIOU
AEIU
MNX
AO
AEO
ABMO`.split`
`[i++]].map(g=>g+z).join` `).join`
`)

প্রথম স্ট্রিংয়ের প্রতিটি অক্ষরের মধ্য দিয়ে লুপ করে, এটি দ্বিতীয়টির সংশ্লিষ্ট লাইনে প্রতিটি বর্ণের সাথে যুক্ত করে। এটি তাদের শেষ চিঠির ক্রম হিসাবে শব্দগুলি ফেরৎ দেয়:

AA BA FA HA KA LA MA NA PA TA YA ZA
AB
AD ED ID OD
AE BE DE FE HE ME NE OE PE RE WE YE
EF IF OF
AG
AH EH OH SH UH
AI BI HI KI LI MI OI PI QI SI TI XI
AL EL
AM EM HM MM OM UM
AN EN IN ON UN
BO DO GO HO JO LO MO NO SO TO WO YO
OP UP
AR ER OR
AS ES IS OS US
AT ET IT UT
MU NU XU
AW OW
AX EX OX
AY BY MY OY

পরামর্শ স্বাগত!


1

জাভা, 255 254 বাইট

এটির বাইরে আরও একটি বাইট চেপে ধরার একটি উপায় খুঁজে পেয়েছে।

class C{public static void main(String[]a){char c='A';for(char l:"ABDEGHILMNRSTWXY AEIOY  EO DFHLMNRSTX AE O AEIMO DFNST O AI AIO AEIMOUY AEOU DEFHIMNPRSWXY AEI I E HIO AIO HMNPST  EO IU AEO A".toCharArray())if(l<'A')c++;else System.out.print(" "+c+l);}}

বা (যদিও খুব বেশি পরিষ্কার নয়):

class C {
    public static void main(String[] a) {
        char c = 'A';
        for (char l : "ABDEGHILMNRSTWXY AEIOY  EO DFHLMNRSTX AE O AEIMO DFNST O AI AIO AEIMOUY AEOU DEFHIMNPRSWXY AEI I E HIO AIO HMNPST  EO IU AEO A"
                .toCharArray())
            if (l < 'A')
                c++;
            else
                System.out.print(" " + c + l);
    }
}

আপনাদের উভয়ের ঘটনার পরিবর্তন করে দুই বাইট সংরক্ষণ করতে পারবেন 'A'মধ্যে 65
ProgramFOX

1

হাস্কেল, 333 308 298 বাইট

শুধুই মজার জন্য!

মূল্যায়ন sসমস্ত শব্দকে একটি অদ্ভুত ক্রমে মুদ্রণ করবে - আমি এই সত্যটি ব্যবহার করেছি যে বেশিরভাগ সংমিশ্রণ স্বর-ব্যঞ্জনা বা তদ্বিপরীত, সম্ভবত কাস্টম অক্ষর "শ্রেণি" দিয়ে আরও বেশি অনুকূলিত করতে পারে, এনকোডেড ম্যাট্রিক্সকে সংক্ষিপ্ত করে (এখানে wএবং k)।

আমার মোনাডিকের চেয়ে কোটস এবং বন্ধনী ছাড়া স্ট্রিং প্রিন্ট করার জন্য কি আরও ছোট উপায় জানেন? প্রকারের ক্লাসগুলি যত দীর্ঘ আমি বলতে পারি তত দীর্ঘ।

এছাড়াও, pএর কাজটি করার একটি ছোট উপায়ও থাকতে পারে ...

v="AEIOU"
c="BCDFGHJKLMNPQRSTVWXYZ"
w=[976693,321324,50188,945708,52768]
k=[15,0,10,3,8,15,8,5,13,31,27,7,4,2,12,13,0,10,20,11,1]
z a b x=[[c:[e]|(e,f)<-b#p d,f]|(c,d)<-a#x]
(#)=zip
p 0=[]
p n=((n`mod`2)>0):p(n`div`2)
s=mapM_ putStrLn$concat$z v c w++z c v k++[words"AA AE AI BY HM MM MY OE OI SH"]

নয় sequence_হিসাবে একই void$sequence? তারপরে আপনি এটিও বাদ দিতে পারেন import
নিমি

এটি অদ্ভুতভাবে প্যাকেজড, তবে হ্যাঁ। ধন্যবাদ!
লিফ উইলার্টস

নয়, voidআমদানি করতে হয়েছিল। যাইহোক, এটা মনে রাখতে হবে / করতে হবে।
লাইফ উইলার্টস

1
আহ, এবং sequence_$map putStrLnহয় mapM_ putStrLn। প্রতিস্থাপন (, )প্রায় concat$...অপরের সাথে $
নিমি

1

05 এ বি 1 ই , 143 বাইট (অ-প্রতিযোগিতা)

•ZÐFý8ù6„=4ÅœÿWì±7Ë5Œ¾`ó/îAnµ%Ñ¥Ëø±/ÀéNzքѧIJ¶D—ÙVEStvÖò…¸¾6F³#EXŠm¯Cĵ±ÓoÊ°}^€Ftå߀ðŒ=«j;F-Â1;xX3i&QZÒ'Ü”>lwìlOs>íÙVÇI)~î‰Hç²?Öd0È^ÝQ°•36B2ô»

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



1
@ কেভিন ক্রুইজসেন ৯১ (এবং আমি নিশ্চিত যে এই পদ্ধতিটি কমতে পারে তবে আমি মজাদার জন্য অভিধানের শব্দটি হাতে তুলেছি )।
গ্রিমি

1

পিএইচপি, 170 বাইট

আমি এখনও অবধি খুঁজে পেলাম ...

for(;$c=ABFHKLMNPTYZ1A2AEIO1ABDFHMNOPRWY1EIO1A1AEOSU1ABHKJMOPQSTX3AE1AEHMOU1AEIOU1BDGHJLMNSTWY1OU11AEO1AEIOU1AEIU1MNX2AO1AEO1ABMO[$i++];)$c<1?print$c.chr($k+65)._:$k+=$c;

ভাঙ্গন

for(;$c=CHARACTERS[$i++];)  // loop $c through map
    $c<1                            // if $c is a letter (integer value < 1)
        ?print$c.chr($k+65)._           // print first letter, second letter, delimiter
        :$k+=$c                         // else increase second letter
    ;

দ্রষ্টব্য প্রিন্টযোগ্য আসকি সহ সংক্ষিপ্ততম বিট-ম্যাপিং সংস্করণটির জন্য 6 বিট = বেস 64, 174 বাইট (97 ডেটা, 77 ডিকোডিং) ব্যবহার করে 190 বিট (113 বাইট ডেটা + 77 বাইট ডিকোডিং) 7 বিট (বেস 128) ব্যবহার করে; পালানোর জন্য সম্ভবত আরও কিছু

for(;$p<676;)                   // loop through combinations
    ord("MAPPING"[$p/6])-32>>$p%6&1     // test bit
        ?                                       // if set, do nothing
        :print chr($p/26+65).chr($p++%26+65)._; // if not, print combination+delimiter

বেস 224 (ascii 32..255 ব্যবহার করে) 87 বাইট ডেটা লাগে (+ পলায়ন); তবে আমি অনুমান করি যে ডিকোডিংয়ের জন্য 10 বাইটের বেশি অতিরিক্ত খরচ হবে।
মানচিত্র থেকে সি এবং ভি বাদ দিলে ডেটাতে 16/14/13 বাইট সাশ্রয় হবে তবে ডিকোডিংয়ে অনেক ব্যয় হবে।

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