पोकेमॉन कौन है?


33

इनपुट: 1 और 151 के बीच एक पूर्णांक एन

आउटपुट: Nth Pokemon।

नियम

  • आप एक डेटा फ़ाइल का उपयोग कर सकते हैं ।

  • हो सकता है कि आप पहले से ही बनाए गए डेटा डीकोप्रेशन एल्गोरिदम का उपयोग न करें। इसमें पुस्तकालय और अन्य कार्यक्रम शामिल हैं।

  • आपका प्रोग्राम स्वयं और आपकी डेटा फ़ाइल के अलावा अन्य फ़ाइलों तक नहीं पहुँच सकता है।

स्कोरिंग

आपका स्कोर आपके कोड और डेटा फ़ाइल की लंबाई का योग है।

सहायक सामग्री

यहां पहले 151 पोकेमॉन की एक सूची दी गई है जो आपकी डेटा फ़ाइल बनाने में आपकी मदद करने के लिए अर्धविराम से अलग है। आपका आउटपुट इस पंक्ति के Nth प्रविष्टि से बिल्कुल मेल खाना चाहिए:

Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew

है बबलगम की अनुमति दी?
PyRulez

@PyRulez हां, जब तक आप इसके किसी भी अंतर्निहित डेटा के विघटन का उपयोग नहीं करते हैं। इतनी अच्छी किस्मत तोड़ SHA256
कार्डबोर्ड_बॉक्स

अगर हमारी भाषा में पोकेमॉन की सूची को वापस लाने के लिए एक बिल्डिन है, तो क्या हम इसे बाइट के बिना उपयोग कर सकते हैं?
caird coinheringaahing

@cairdcoinheringaahing यदि आप पाइक के बिलिन के बारे में बात कर रहे हैं, तो मुझे लगता है कि चुनौती की भावना के खिलाफ जाता है, हालांकि मुझे लगता है कि यह वैसे भी गैर-प्रतिस्पर्धात्मक होगा।
19

मैंने सिर्फ इस चुनौती पर ध्यान दिया, उत्तर लिखा था और फिर इसके लिए तारीख पर ध्यान दिया: पी मैं निराश हूं कि मुझे अपनी भाषा का उपयोग करने के लिए नहीं मिला अन्यथा बेकार की सुविधा
ब्लू

जवाबों:


8

जे (93 + 787 = 880)

संपादित करें: अन्य कैपिटलाइज़ेशन विधि जो 'मि। माइम 'सही ढंग से।

संभवत: छोटा किया जा सकता है, मैंने जे से पहले कभी नहीं लिखा है। यह PHP के उदाहरण के समान सिद्धांत पर काम करता है।

इसे चलाते समय आपको उसी निर्देशिका में 'p' फ़ाइल की आवश्यकता होती है, जिससे फ़ाइल को डाउनलोड किया जा सकता है: http://frankenstein.dns.org.uk/p । यह 787 बाइट्स है।

u:p-32*96<p*|.!.1[32=p=.(}.p#~(".1!:1[1)=+/\31=p=.#._5>\,#:a.i.1!:1<'p'){(97+i.26),a.i.'.()'' '

फ़ाइल पांच-बिट प्रारूप में एन्कोडेड है, इस प्रकार है:

0-25: A-Z
26: .
27: (
28: )
29: '
30: <space>
31: separator

सूची 1-आधारित बनाने के लिए, फ़ाइल एक विभाजक के साथ भी शुरू होती है।

जे कोड निम्नानुसार काम करता है:

  • (97+i.26),a.i.'.()'' ': एक स्ट्रिंग जहां अनुक्रमणिका N ASCII वर्ण है
  • {: इस सूची से नीचे के भाव द्वारा उत्पन्न मान चुनें
  • 1!:1<'p': 'p' फ़ाइल पढ़ें
  • ,#:a.i.: बिट के रूप में फ़ाइल प्राप्त करें
  • _5>\: बिट्स को पांच के समूह में समूहित करें
  • p=.#.: बिट्स के प्रत्येक समूह को एक संख्या में बदलना और असाइन करना p
  • +/\31=p: pजहां प्रत्येक मान N का अर्थ है उस स्थिति के आकार की एक सूची pN-th पोकेमॉन से संबंधित है।
  • (".1!:1[1)=: कीबोर्ड से एक नंबर पढ़ें और देखें pकि उस पोकेमॉन के लिए पात्र कहां हैं।
  • }.p#~: उन्हें ऊपर देखें pऔर पहले आइटम को हटा दें (जो विभाजक है)।
  • p-32*96<p*_1|.(!.1)32=p=.: आउटपुट को pफिर से असाइन करें, और 32 को घटाएं pजहां p96 से बड़ा है और एक स्पेस के दाईं ओर है। जो बोझिल है। जे प्रलेखन के अनुसार एक capitalizeफ़ंक्शन होना चाहिए लेकिन यह मेरे सिस्टम पर नहीं है।
  • u:: उन्हें यूनिकोड के रूप में देखें।

1
मैं Ulbasaurपहली पोकेमॉन के लिए मिल रहा हूं । क्या मैं इसे सही ढंग से चला रहा हूं? मैंने पहले कभी J का उपयोग नहीं किया है। साथ ही, Mr. Mimeपूंजीकृत होना चाहिए।
कार्डबोर्ड_बॉक्स

@कार्डबोर्ड_बॉक्स: मैंने कैपिटलाइज़ेशन विधि को बदल दिया है ताकि Mr. Mimeकाम करें (9 अक्षरों की लागत पर)। Ulbasaurडेटा फ़ाइल लिखने में कोई गलती है, वह भी तय किया गया है था।
मारिनस

ऐसा लग रहा है कि लिंक मर चुका है।
एरिक आउटोलॉफ़र

23

बैश 1182 चर

read n;echo {Bulba,Ivy,Venu}saur Char{mander,meleon,izard} {Squi,Warto}rtle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidge{y,otto,ot} Rat{tata,icate} {Sp,F}earow Ekans Arbok {Pika,Rai}chu Sands{hrew,lash} Nido{ran%\(f\),rina,queen,ran%\(m\),rino,king} Clefa{iry,ble} Vulpix Ninetales {Jigglyp,Wigglyt}uff {Zu,Gol}bat Oddish Gloom Vileplume Paras{,ect} Veno{nat,moth} Diglett Dugtrio Meowth Persian {Psy,Gol}duck Mankey Primeape Growlith Arcanine Poliw{ag,hirl,rath} {A,Kada}bra Alakazam Mach{op,oke,amp} Bellsprout {Weepin,Victree}bell Tentac{ool,ruel} Geodude Graveler Golem Ponyta Rapidash Slow{poke,bro} Magne{mite,ton} Farfetch\'d Dod{uo,rio} Seel Dewgong Grimer Muk {Shelld,Cloyst}er Gastly Haunter Gengar Onix Drowsee Hypno Krabby Kingler Voltorb Electrode Exeggut{e,or} Cubone Marowak Hitmon{lee,chan} Lickitung {Koff,Weez}ing Rhy{horn,don} Chansey Tangela Kangaskhan Horsea Seadra Goldeen Seaking Star{yu,mie} Mr.%Mime Scyther Jynx Electabuzz Magmar Pinsir Tauros Magikarp Gyarados Lapras Ditto Eevee {Vapore,Jolte,Flare,Poryg}on Oma{nyte,star} Kabuto{,ps} Aerodactyl Snorlax Articuno Zapdos Moltres Dra{tini,gon{air,ite}} Mew{two,}|tr %\  \ \\n|sed $n!d

3
यह एक बहुत अच्छा विचार है।
मिस्टरैंडर

17

PHP 919 (925) बाइट्स

के रूप में पीटर टेलर के जवाब , मैं भी सीधे मेरी समाधान पोस्ट नहीं कर सकते, इसलिए बजाय मैं एक प्रोग्राम है जो पोस्ट करेंगे उत्पन्न करता है यह:

<?php
$data = <<<EOD
PD9mb3IoJG89J5SWUHYPaY6dSs/pjsJBMS1pRDc1yZ3AUcQkNcnZsYIkJDXtpa4UB4mOMNH8zbDbcDhcKD
VYu89cFyjRlBm8GSjMiFSxCNHitpn8Kdi43B+XUkX2gVjN8LQEmEkF5D2zE9gbTD3z6djUJQAVFXwlXV/o
kVwnsV1rW5J9zpssN3JXdW5LjAS3DYTcBtV/YUdtoAfGC+ztsoc1LxQamD5lmQMaes37flJcGvg7CdkS+s
1bhZLjAQQtmL5tS3rN+2eS7LeROnX9nOCRRWhRQhFkBDSN0igwMUwem4BNYVrkxZuAzUEiRDG+KFODVqV0
KDAvpLM747wC0AwYUVkELsVsBA5vyThUQQtiKFRBK6EYnBC7oMiAkJtYbXOZk9scdPF3hTJEh7hhZ4yDEG
FHzJ1vSfxkDVkd8fz+u6ConHVH7Y3SHFtgq20M22ALpO40xMC9vmictX6lf+2VfqV1EBctRRwZ38RceT3E
G2l5PcTVTFahWEdGGYhjKSwy5lBYAn944VmhWNQRkvXDw5SAkpV/URm0SZPBOPweZUGwDlODERHEwt0VfK
X9WG+kp9tbe+d8oLvu1uw9+6ExyFwZe6LogoTF7oG3RCiUm0GTcJsmcyxJmdRR68Oi7P4NmQ6ZlwxE8djR
DtfANTjRZBOvWE281RLRDtPJY05E4k10BkvfCRwNLKssXh4GHB+SgBFEwsDbHsSxMdhmCBExsfvZKLzEEY
uZ26SXfutBOR1rezc8/XmT6HkcHciTBwTSxD1cJ+XBcmyjis2S7ClZLZJMTG2bngTs7VtCN3VSaQUAcuPQ
VR9yY0+ntSTcnhcdZ4n4JtzDwPHZJEl9pZJsONV96ad1jpV5eVhpldF8r7WcMeRd8hSxMXjVEcZEPZsdLg
SSd+4kNY7L7Bkbdy10VDVuJdtfGOyG7yydwJux2SFcAiz7QSIEa8BxAoQIFUFCRJt+G6KkoZ3d8fzBPZhO
xG2eaIwfvrGb54zZ7mgfGPA0Qp6I5NSund9SSw5MUD8M0wAmzywmSF2N/CZbw8V1JEZF42LIXJmLeIM5uU
wnOzc4OD4kbjspJGY9c3BsaXQonywkeC49Y2hyKDMxJiR2PSsrJGklOCUzPzgqJHZeb3JkKCRvWyRuKytd
KTokdj4+NSleiyk7ZWNob35zdHJ0cigkZlsrZmdldHMoU1RESU4pXXygLICEgYOCLNfY1tHfKTsNCg==
EOD;
print base64_decode($data);
?>

नमूना I / O:

$ php generator.php > out.php

$ echo 12 | php out.php
Butterfree

$ echo 32 | php out.php
Nidoran (m)

$ echo 83 | php out.php
Farfetch'd

$ echo 122 | php out.php
Mr. mime

$ echo 151 | php out.php
Mew

यह कैसे काम करता है (बिगाड़ने वाला):

यह कोड अवलोकन पर संचालित होता है कि एक विभाजक सहित केवल 32 अद्वितीय वर्ण हैं - यदि आप राजधानियों की गिनती नहीं कर रहे हैं। इसका तात्पर्य 5: 8 एन्कोडिंग से है; प्रत्येक बाइट का प्रतिनिधित्व करने के लिए केवल 5 बिट्स की आवश्यकता होती है।

मैं इसे निम्नलिखित तरीके से पूरा करता हूं:

++ $ i% 8% 3

जब यह मान गैर-शून्य होता है, तो एक नया बाइट पढ़ा जाता है, और जब शून्य होता है, तो अगला बाइट पहले पढ़े बाइट्स से उत्पन्न होता है। 3 जी, 6 वीं और 8 वीं बाइट इस तरीके से उत्पन्न होती हैं, और फिर प्रक्रिया दोहराती है।

बिट वितरण तदनुसार होता है। यदि उदाहरण के लिए आप स्ट्रिंग का उत्पादन करना चाहते थे:

abcdefgh

प्रत्येक के लिए बिट्स निम्न स्रोत बाइट्स में निम्न प्रकार से वितरित किए जाते हैं:

hccaaaaa | cccbbbbb | hffddddd | fffeeeee. hhhggggg

C उत्पन्न करने के बाद, केवल h का शीर्ष शीर्ष बिट बना रहता है, f उत्पन्न करने के बाद, h के शीर्ष दो बिट बने रहते हैं, और g पढ़ने के बाद, h अपनी संपूर्णता में रहता है (मैं इसके बजाय xored मानों का उपयोग करके कुछ शिफ्ट संचालन को सहेजता हूं, उदाहरण के लिए दूसरा बाइट के लिए मैं जो मूल्य लोड करता हूं वह वह मूल्य है जो मैं चाहता हूं कि xor << 3, लेकिन यह इसका सार है)।

यह [0,31] की सीमा पर वर्णों का निर्माण करता है। सीमा [96,127] पर किसी भी चरित्र के अनुसार, सभी पात्रों को उस श्रेणी में मैप किया जाएगा (मैंने 116 को चुना, क्योंकि इसमें कम से कम भागने की संख्या का परिणाम था)। उसके बाद, यह उन 5 वर्णों का अनुवाद करने का एक सरल मामला है जो उनके उपयुक्त प्रतिस्थापन के साथ नहीं हैं, और पहले अक्षर को कैपिटलाइज़ करते हैं। इस कोड को ऐसा करने के लिए तीन बाइट्स की आवश्यकता होती है: oring (पहले जैसा उत्पन्न) बिट उलटा तार char 160 के साथ, और फिर थोड़ा inverting। एक छोटा सा चेतावनी: दूसरा मि। ' mime 'इस विधि द्वारा पूंजीकृत नहीं है। यह 6 बाइट्स की लागत पर ucwords () फ़ंक्शन के साथ ऊपर वर्णित विधि को बदलकर मरम्मत की जा सकती है, जिसके परिणामस्वरूप 919 के बजाय 925 की कोड लंबाई होती है।


7

GolfScript (1040 बाइट्स)

दुर्भाग्य से मैं सीधे कार्यक्रम पोस्ट नहीं कर सकता, इसलिए मैं एक लिंक और बेस 64-एन्कोडेड पाठ प्रदान करूंगा :

fignACc1Nix7XFsxJF0nJysvXCdCdWxiNzYKSXZ5czY0dXM2CjJtMWQvMm0tZSsyaXozZCpxdSZ0
bCVXMyRydGwlQmw3JGlzJUMjMHBpImUhcB8KQnV0dDBmcmUlHmRsJUtha3VuYQpCZWVkHWxsG3kb
b3QkG290GiN0I2EaI2ljIyVTcGUzGQpGZTMZCkVrMXMYcmJvaxxpa2EXdRphaRd1KjFkc2hyZXcq
MWRzbDdoFWYpFnIUYRZxdWU1FW0pFnIUbxZrExEmeRFibCVWdWxwaXgKThRlIRJzCkoQcHVmZgpX
EHR1ZmYKWnViIw8OYiMKT2RkaXNoD2xvb20KVmkScGx1bSVQMzccMzdlY3Q0LCM0b21vdGgNaWcS
dHQNdWd0HW8MZRl0aBwwc2kxHHN5ZHVjaw8OZHVjawwxa2V5HB1tZQslR3IZbAloGHJjMRQlUAhh
ZxwIaCZsHAgHdGgYYgcGYWRhYgcYbGFrYXphbQUXb3AFF29rImEXYW1wCkItbHNwcm91dAoecBRi
LWwKVmljdHJlZWItbARvDgRydS0PZR91ZCVHB3YtL0cOZW0cLHkhGgtpZDdoKmwZcG9rJVNsGWJy
bwVnbmVtCSJhZ25ldCtGM2ZldBdcJ2QNH3VvDR8dbyplLQ1ld2csZw8dbS9NdWsqaC1sZC9DbG95
c3QvRzd0bHkKSGF1bnQvRzVnMwpPbml4DXIZc2UlSHlwbm8GB2JieQYTbC9WDiRyYgpFEmN0ch8D
dAMkcgpDdWIsIjMZYWsKSAltLBIlSAltLBcxCkxpY2sJdW5nBm9mZhMKHnoTGmh5aAJuGmh5ZCtD
aDFzZXkKVDFnLWEGMWc3a2gxCkgCc2VhKmVhZAcPDmRlNSplYWsTKnQzeXUqdDNtaSJyLiBNaW0l
U2N5dGgvSnlueApFEmMhYnV6egVnbTMcFHMmClQ2b3MFZ2lrM3APeTNhZG9zCkwLB3MNCSQKRWV2
ZSVWCwJlK0oOdGUrRmwzZSwcAnlnK09tMXl0JU9tN3QzAQFwcxgwH2FjdHlsKm4CbGF4GHJ0aWN1
bm8KWgtkb3MMDnRyZXMNB3QUaQ0HZyxhJg0HZywJImV3dHdvDGV3AAZhYnUkAG9yACVFeGVnZ3UA
ClQ1IWMADGEACksAcmEADml3AGl0AAoAYXAACk0ACkQAb2wACkcAaWdnbHkACkMSZmEAbGUAFGcA
aW4AFnIxICgACk5pZG8AY2gACkEAb3cAClIAHGlkZ2UAClAAcmkAV2VlAG9kACAAdGEAJU0AYXQA
dG8AZQoAaXIAXCcAKAApAApTACwKAG9uAGVsAC4AMAoAZXIAYW4AQ2gzAGFyAApWNQBlbgBhdXIA
YXMnJwAnLz0qfS9uLz0=

यह एनयूएल वर्णों द्वारा अलग किए गए नियमों और एक सरल विस्तार दृष्टिकोण के साथ व्याकरण-आधारित दृष्टिकोण का उपयोग करता है, इसके बाद न्यूलाइन पर विभाजन और वांछित लाइन का चयन करता है। इनपुट स्टड के माध्यम से है। किसी भी बाहरी फ़ाइल का उपयोग नहीं किया जाता है।

विस्तृत रूप में

मैंने एक जावा प्रोग्राम लिखा है जो कई व्याकरण उत्पन्न करने वाली रणनीतियाँ और दो व्याकरण से लेकर गोल्फस्क्रिप्ट जनरेशन की रणनीतियाँ लागू करता है और एक स्ट्रिंग के पुनर्निर्माण के लिए बहुत सारे जीएस कार्यक्रमों को आउटपुट करता है। इस विशेष मामले में विजेता संयोजन एक लालची व्याकरण बिल्डर था जिसमें 2 की दहलीज और रीमैप इंजन था। लालची व्याकरण बिल्डर एक व्याकरण के साथ शुरू होता है

<0> ::= "Bulbasaur\nIvysaur\nVenusaur\n..."

और बार-बार दाहिने हाथ में टर्मिनलों और गैर-टर्मिनलों के दोहराया अनुक्रम की तलाश करता है, जो जब एक नए गैर-टर्मिनल को परिभाषित करने वाले नियम में निकाला जाता है, तो व्याकरण में कुल टर्मिनलों और गैर-टर्मिनलों की सबसे बड़ी कमी पैदा करता है । दहलीज कटऑफ बिंदु है जिस पर कमी को इसके लायक नहीं माना जाता है।

गैर-टर्मिनलों को स्थैतिक रूप से क्रमबद्ध किया जाता है और फिर 0 से ऊपर की संख्या की जाती है। यदि वे किसी भी वर्ण मान को ओवरलैप करते हैं, जो कि टर्मिनल भी हैं, तो रिमैप इंजन उस टर्मिनल पर एक नया नियम मैपिंग बनाता है। (उदा। यदि नियम 0 से 37 हैं और स्पेस कैरेक्टर होता है, तो यह 38 से स्पेस कैरेक्टर को मैप करेगा और फिर 32 के बजाय 38 का उपयोग करने के लिए सभी नियमों के आरएचएस को अपडेट करेगा।) नियमों के दाहिने हाथ के किनारों को फिर से मिलाया जाता है, NUL द्वारा अलग किया जाता है, और व्याकरण का विस्तार करने के लिए हाथ से लिखे हुए गोल्फस्क्रिप्ट का एक छोटा सा टुकड़ा जोड़ा जाता है।


2
+1 क्या आप अपने दृष्टिकोण के बारे में कुछ और कहना चाहेंगे?
डेविड नोव

3

ब्रेनफक , 9337 बाइट्स

मुझे यकीन है कि मुझे एक छोटा सा समाधान मिलेगा ^ ^

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

इसे ऑनलाइन आज़माएं!


2

क्यू / केडीबी , 789 + 77 = 866 बाइट्स

समाधान:

/ encoding pokemon.txt into 'q' text file (not added to byte count, not golfed)
`:q 0:enlist "c"$2 sv'8 cut (raze 3_'0b vs'4h$(asc distinct p)?p:lower first read0`:pokemon.txt),000000b

/ checking length of q file (note: file is written with trailing newline \r\n, so could/should be 787 bytes)
hcount `:q
789

/ decoding q and look-up of value
@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+

उदाहरण:

q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+45
"Vileplume"
q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+151
"Mew"
q)@[;0;upper](";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+1
"Bulbasaur"

स्पष्टीकरण:

रणनीति (अन्य समाधानों की तरह) प्रत्येक 8 बिट चरित्र को 5 बिट्स में एनकोड करना है, यह 32 अक्षरों की एक छोटी वर्णमाला बनाकर किया जाता है, इनपुट लिस्ट में प्रत्येक अक्षर के सूचकांकों को ढूंढना (0..31) और फिर इनको एन्कोड करना 5-बिट संख्या के रूप में (जिसमें शामिल होने की आवश्यकता है और क्यू में नीचे लिखे जाने के लिए 8-बिट वर्ण में परिवर्तित होना चाहिए)।

डीकोडिंग सिर्फ इसके विपरीत कर रहा है, वर्णमाला ज्ञात है " '().;abcdefghijklmnopqrstuvwxyz", इसलिए इनपुट को 5 बिट्स के बैचों में विभाजित करें और पूर्णांक, इंडेक्स में वापस वर्णमाला में परिवर्तित करें। इस पर विभाजित करें ;और फिर इसे उपयोगकर्ता इनपुट के साथ इंडेक्स करें (0-इंडेक्सिंग के कारण 1 घटाएं), और (फिर से) पहले अक्षर को कैपिटलाइज़ करें।

@[;0;upper] (";" vs " '().;abcdefghijklmnopqrstuvwxyz"2 sv'5 cut -6_raze 0b vs'4h$ "\n" sv read0 `:q)@-1+ / ungolfed decoder
                                                                                                      -1+ / same as doing 'x-1', subtract 1 from input
                                                                                                     @    / index in to item on the left
            (                                                                                       )     / do all this together
                                                                                           read0 `:q      / read text file 'q'
                                                                                   "\n" sv                / join back newlines (as q breaks text files on newlines)
                                                                               4h$                        / cast char array to bytes
                                                                         0b vs'                           / convert each byte to binary (boolean list)
                                                                    raze                                  / flatten list
                                                                 -6_                                      / drop the 6 padding bits added to align 5/8-bits
                                                           5 cut                                          / chop into lists of 5-bit lengths
                                                      2 sv'                                               / convert each boolean list back to an integer
                    " '().;abcdefghijklmnopqrstuvwxyz"                                                    / index into our lookup table at each index
             ";" vs                                                                                       / break this string up at semicolons
 @[;0;upper]                                                                                              / apply 'upper' to each first character in the result

टिप्पणियाँ:

एक अतिरिक्त 13 बाइट (879) अगर हम दूसरे फायदा उठाने की जरूरत है Mकी Mr. Mime:

{@[x;0,1+x ss" ";upper]}(";"vs(" '().;",.Q.a)2 sv'5 cut -6_(,/)0b vs'4h$"\n"sv(0:)`:q)@-1+

2

पायथन 3, 178 + 1253 = 1431 बाइट्स

import re
def f(l,N,p='',n=0,w=''):
 for s in open(l,'r',1,'utf-8').read().split('\0'):t=re.match('\d*',s)[0];n=int(t or n);w=w[:n]+s[len(t):];p+=w[:-1]*(ord(w[-1])==N)
 return p

उनके किताबी कीड़ा अपघटन समारोह के लिए wizzwizz4 को श्रेय: बुकसेक शब्दकोश प्रारूप पार्स

फ़ंक्शन के लिए फ़ाइल नाम और वांछित Pokemon नंबर पास करना होगा। पोकेमॉन युक्त एक स्ट्रिंग लौटाता है।

Ex .: f('pokemans', 1')रिटर्न 'बुलबासौर'।

फ़ाइल बुकवर्म संपीड़न का उपयोग करती है, लेकिन चूंकि पोकेमॉन को इस काम के लिए वर्णमाला के क्रम में होना चाहिए, वे सभी एक चरित्र के साथ समाप्त होते हैं, जिसका क्रम उनकी संख्या से मेल खाता है (उदा। निडारिनो "7o!", "7o संकुचित स्ट्रिंग" के रूप में प्रकट होता है) Nidorino "और"! "Be \ 33)। आइटम निल बाइट \ 0 से डिलीट हो जाते हैं, क्योंकि पोकेमॉन चार्ट \ 1 से शुरू होता है।

बुकवॉर्म को डिकम्प्रेस करने की जटिलता के कारण, यह वास्तव में बुनियादी हार्ड-कोडित सूची लेने से अधिक खराब है, फिर इसे विभाजित करना और अनुक्रमित करना। लेकिन यह एक उपन्यास का जवाब है, इसलिए मैंने सोचा कि मैं इसे वैसे भी पोस्ट करूंगा।

'पोकेमन्स' फ़ाइल की हेक्स डंप:

४१ ६२ 41२ ६१ ३ एफ ५१ ६५ ६१ ६४ ६१ ६१ c४ c ९ e६ सी 00 सी 00 बी ६ बी ६ बी ६१ ६१ ६१ ६१ ६१ ६१ ६२ ६६ ६ बी १ 00 ६२ ३६६ ६ ९ ३ ६ ९ ६ 74 ६६ ६६ ६६ ६६ ६६ ६६ f६ सी २ 90 00 30 42 65 65 64 69 72 6c 6c 0f 00 32 6c 6c 73 70 72 6f 75 74 45 00 31 6c 61 73 74 6f 69 73 65 09 00 75 62 61 61 75 72 72 00 32 74 74 65 65 72 ६६ 66२ ६५ ६५ ०३ ४३ ४१ ६१ ६ 65 ६० ६० ६१ ६१ 61१ ६ 79 79१ 71६ 71१ 71१ 71१ 71१ 00१ 00६ ६१ ६६ ६१ ६१ ६६ ६५ ६५ ६५ ६५ ६५ ६५ ६५ ६५ ६६६ ०५ ०० ३१ ६६ ६६ ६६ ६२ ६६ ६५ २४ ०० ६५ 23६ 00 ९ 32३ ६३ ६३ 74३ 74३ 74 74 72४ 72६ 72५ 65५ ५५ ६१ ६५ ६६ ६५ ६५ ६६ ६६ ६६ ६ 57 ५६ ६ ९ ६ 6 ६६ ६५ ६५ 74 74 32 00 32 74 74 6f c2 84 00 30 44 6f 64 72 69 6f 55 00 33 33 75 6f 54 00 31 72 61 67 6f 6e 61 69 72 c2 94 00 36 69 65 65 c2 95 00 33 74 69e 69 c2 93 00 32 6f 77 73 65 65 60 60 31 31 67 74 72 69 69f 33 00 30 45 65 76 65 65 652 2 00 00 6 6b61 6e 73 17 00 6 सी 65 63 74 61 62 7 ए 7 ए 7 डी 7 डी 00 35 72 6 एफ 64 65 65 00 31 65 67 67 67 75 75 65 65 65 65 37 65 65 65 65 65 65 74 74 63 68 27 27 64 53 00 31 65 61 72 6f 77 16 00 6c 61 72 65 6f 6e c2 88 00 30 47 61 73 74 6c 79 5c 00 31 65 6e 67 61 5e 00 32 6f 64 75 65 65a 4 31 31 6f 6f 6d 6d 2c 00 6 एफ 6 सी 62 61 74 2 ए 00 33 64 65 65 65 6 6 76 00 34 63 63 6 बी 37 00 33 65 6 डी 4 सी 00 31 72 61 76 65 65 6 सी 65 72 4 बी 00 32 69 6 डी 65 72 58 32 32 6 एफ 77 सी 69 74 68 3 ए 00 31 79 61 72 64 64 6 6 73 73 c2 82 00 30 48 61 75 6e 74 65 72 72 5 5 00 31 69 6 6 6 6 63 63 61 61 6 6 00 00 36 65 65 6a 00 31 31 6 72 72 61 61 74 74 74 79 74 ६ ई ६ एफ ६१ ०० ४० ४३ 73 ९ 61 61 6१ 02१ 00१ 00२ a२ ४६ ६ 6 ६ 6 ६ 6६ 75६ 75० 00० 66६, ६ 00 ६६, ६६ ६६, 6६, 6 ९ 78, 4६, 00६, 00६, 00६, 00६, 00६, 00६, 00५, 00६, 00६ 00 36 70 73 c2 8d 00 32 64 61 62 72 61 40 00 32 6b 75 6e 61 0e 00 32 6e 67 61 73 6b 68 616e 73 00 31 69 6e 67 6c 65 72 63 00 6f 66 66 69 6e 67 6d 00 72 61 62 62 62 62 62 62 62 30 30c 61 70 72 73 73 c2 83 00 4c 69 63 6b 69 74 75 6c 67 4c 00 4d 61 63 68 61 6 डी 70 44 00 34 6 एफ 6 बी 65 43 00 35 70 42 00 32 67 69 6 बी 61 72 70 सी 2 81 00 33 6 डी 61 72 7e 00 6e 65 6 डी 69 74 65 51 35 35 6 एफ 6 बी 52 00 32 6 6 6 बी 65 79 38 00 72 6f 77 61 6b 69 00 31 31 6f 77 74 68 34 00 32 74 61 70 6f 64 0b 00 77 772 2 2 2 3 2 3 4 5 6 c2 96 00 31 6f 6c 74 72 73 73 92 92 72 72 2e 20 4d 69 6d 65 7a 00 75 6b 59 00 30 4e 69 64 6f 6b 69 6e 67 22 00 34 71 65 65 65 65e 6f 1 72 61 6 6 20 28 66 29 1d 00 39 6d 29 20 35 35 69 6e 61 1e 00 37 6f 21 00 32 6e 65 74 61 6c 65 73 26 00 30 4 एफ 64 64 69 73 68 2b 00 31 6d 61 6e 79 74 65 c2 8a 00 33 73 61 72 c2 8b 00 31 6e 69 5 5 00 00 30 50 61 72 61 73 2e 00 35 65 63 74f 2 00 00 31 65 72 73 69 61 6 6 00 00 64 64 65 65 6f 74 12 00 35 6f 7474 6f 11 00 79 79 00 00 32 6b 61 63 68 75 19 00 6e 73 69 72 7f 00 31 6f 6c 69 77 61 67 3c 00 35 68 69 72 6c 3d 00 72 61 74 68 3e 00 32 6e 74 74 61 4d 00 72 79 67 6f 6e 6e c2 89 00 31 72 69 6d 65 61 70 65 39 39 73 73 79 64 75 63 6b 36 00 30 52 61 69 63 68 75 1a 00 32 70 69 64 61 73 68 4e 00 74 69 63 61 74 65 14 00 33 74 61 74 61 13 00 31 68 79 64 6F 6e 70 00 33 68 6F 72 6e 6F 00 30 53 61 6e 64 73 68 72 65 77 1b 00 35 6C 61 73 68 1c 00 31 63 79 74 68 65 72 7b 00 65 61 64 72 75 75 00 33 6b 69 6e 67 77 00 32 65 6c 56 00 31 68 65 6c 6c 64 65 72 5a 00 6c 77 62 72 6f 50 00 34 70 6f 6b 65f 00 31 31 6e 6f 72 6c 61 78 c2 8f 00 70 65 61 72 6f 77 15 00 71 75 72 72 74 74 6c 65 07 00 74 61 72 6d 69 65 79 79 34 75 78 00 30 54 61 6c 67 65 6c 61 72 00 32 75 75 6f 73 c2 80 00 31 65 6e 74 61 63 6f 6f 6c 48c 36 00 72 75 65 6c 49 00 30 56 61 70 6f 72 65 6f6e c2 86 00 31 65 6e 6f 6d 6f 74f 31 68 00 34 6e 61 74 30 00 33 75 73 72 75 75 72 72 00 31 69 69 72 72 65 65 65 65 65 65 6c 47 00 32 6c 65 70 6d 75 6d 65 2d 00 31 6f 6c 74 6f 72 62 64 00 75 6c 70 69 78 25 25 30 30 61 72 74 6f 72 74 6c 65 08 00 31 65 65 6c 65 33d 65 33 6e 62 65 6c 6 00 46 00 7a 69 6e 67 6e 00 31 69 67 67 6c 79 74 75 66 66 28 28 30 30a 61 70 64 6f 73 c2 91 00 31 75 62 61 74 29 00


1
एक फ़ाइल के बजाय एक साधारण स्ट्रिंग का उपयोग करते समय 1286 बाइट्स (इसे ऑनलाइन प्रयास करें) [ bit.ly/2O0pZK0] । लेकिन फ़ाइल संपीड़न का विचार अच्छा है।
Pixma140

1

शुद्ध बैश (कोई कोरयूटिल्स), 1173 बाइट्स

read n;set {Bulba,Ivy,Venu}saur Char{mander,meleon,izard} {Squi,Warto}rtle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidge{y,otto,ot} Rat{tata,icate} {Sp,F}earow Ekans Arbok {Pika,Rai}chu Sands{hrew,lash} Nido{ran\ \(f\),rina,queen,ran\ \(m\),rino,king} Clefa{iry,ble} Vulpix Ninetales {Jigglyp,Wigglyt}uff {Zu,Gol}bat Oddish Gloom Vileplume Paras{,ect} Veno{nat,moth} Diglett Dugtrio Meowth Persian {Psy,Gol}duck Mankey Primeape Growlith Arcanine Poliw{ag,hirl,rath} {A,Kada}bra Alakazam Mach{op,oke,amp} Bellsprout {Weepin,Victree}bell Tentac{ool,ruel} Geodude Graveler Golem Ponyta Rapidash Slow{poke,bro} Magne{mite,ton} Farfetch\'d Dod{uo,rio} Seel Dewgong Grimer Muk {Shelld,Cloyst}er Gastly Haunter Gengar Onix Drowsee Hypno Krabby Kingler Voltorb Electrode Exeggut{e,or} Cubone Marowak Hitmon{lee,chan} Lickitung {Koff,Weez}ing Rhy{horn,don} Chansey Tangela Kangaskhan Horsea Seadra Goldeen Seaking Star{yu,mie} Mr.\ Mime Scyther Jynx Electabuzz Magmar Pinsir Tauros Magikarp Gyarados Lapras Ditto Eevee {Vapore,Jolte,Flare,Poryg}on Oma{nyte,star} Kabuto{,ps} Aerodactyl Snorlax Articuno Zapdos Moltres Dra{tini,gon{air,ite}} Mew{two,};echo ${!n}

इसे ऑनलाइन आज़माएं!

जैसे ब्रेस विस्तार का उपयोग करता है इस सवाल का जवाब है, लेकिन का उपयोग करता है केवल बैश builtins read, set, और echosetदिए गए लोगों के लिए कमांड लाइन तर्क सेट करता है, इसलिए, उदाहरण के लिए, $1है Bulbasaur${!n}एक अप्रत्यक्ष विस्तार है, जो के नाम के साथ परिवर्तनशील चर में फैलता है $n


1

जावास्क्रिप्ट, 1277 1276 बाइट्स

n=>";Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew".split`;`[n]

इसे ऑनलाइन आज़माएं! Node.Js क्योंकि कोई सादा JS नहीं है


1
आप चारों ओर से कोष्ठक से छुटकारा पा सकते हैं (n)और आप .split`;`4 बाइट्स को बचाने के लिए भी उपयोग कर सकते हैं
एक्सपायर डेटा

@ExpiredData धन्यवाद।
फेसपालम

2
मुझे लगता है कि मेरा फोन TIO URL पर चोक हो रहा है, लेकिन आप एक बाइट को स्ट्रिंग के साथ प्रीफ़िक्स करके ;और उसमें से अनुक्रमण करके बचा सकते हैं n, नहींn-1
Cole

1
-83 बाइट्स, अब: 1,193 बाइट्स - आप इसे यहाँ आज़मा सकते हैं - मैंने अभी नोड के साथ @Chris प्योर बैश वेरिएंट को अनुकूलित किया है ।
Pixma140

1
@ pixma140 नहीं, मुझे लगता है कि यह एक अच्छी बात है। मैं किसी दिन इसे छोटा करने में सक्षम हो सकता है, हो सकता है?
फेसपालम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.