जीवन ब्रह्मांड और सब कुछ के जवाब


46

कार्य

इनपुट के रूप में एक स्ट्रिंग को देखते हुए, आपका कार्य 42 केवल आउटपुट करना है यदि इनपुट स्ट्रिंग होता है तो वास्तव में निम्नलिखित होगा:

abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz

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


जीत का मानदंड

यह , इसलिए बाइट्स में सबसे छोटा कोड जीत जाता है!


यहां दिए गए कई समाधान गलत हैं क्योंकि वे 42 को प्रिंट करते हैं जब स्ट्रिंग वांछित स्ट्रिंग से अधिक लंबी होती है और वांछित स्ट्रिंग के साथ उपसर्ग मेल खाते हैं।
fR0DDY

@froddy: क्या होगा यदि केवल वर्ण? एक लाइन ब्रेक के बाद स्ट्रिंग (| | हैं)। मेरे सामान्य इनपुट तंत्र को परवाह नहीं है कि इनपुट लाइन ब्रेक द्वारा समाप्त किया गया है या नहीं, लेकिन उदाहरण के लिए दोनों मामलों में समान है।
जॉय

@ fR0DDY: बाकी इनपुट कैसे संभाला जाना चाहिए, इस पर कोई स्पष्ट परिभाषा नहीं है, इसलिए यहां कोई 'गलत' नहीं है।
पैट्रिकव्ल

3
@PatrickvL यह 'केवल' का उल्लेख करता है यदि इनपुट दिए गए स्ट्रिंग है। इसलिए abbcccddddeeeee...zzabcसंतुष्ट नहीं है कि मुझे लगता है और मैं कुछ कार्यक्रमों को उस इनपुट पर हां देता देख सकता हूं।
fR0DDY 15

2
@ fR0DDY: मुझे इसे दूसरे तरीके से करने दें: इनपुट कैसे सीमांकित किया जाता है, इस पर कोई विनिर्देश नहीं है, इसलिए यह व्याख्या के लिए खुला है। वर्ण एन्कोडिंग का भी कोई उल्लेख नहीं है (मुझे लगता है कि हम में से अधिकांश अपने पर्यावरण के डिफ़ॉल्ट मान लेते हैं - ANSI, UTF8 और UTF16LE सबसे लोकप्रिय होंगे)। यह भी उल्लेख नहीं है कि इनपुट कैसे प्रस्तुत किया जाता है - क्या यह मानक इनपुट के माध्यम से एक कमांड-लाइन पैरामीटर के माध्यम से दर्ज किया जाता है? तो आप देखते हैं - यह सब स्वतंत्रता कुछ व्याख्या के लिए रास्ता देती है जिसे आप 'गलत' के रूप में चिह्नित करेंगे, जबकि अन्य इसे 'आज्ञाकारी' के रूप में आंकेंगे। NOFI, लेकिन यह हम में से कुछ के लिए दैनिक अभ्यास है।
पैट्रिकव्ल

जवाबों:


20

गोल्फ, 20

26,{.97+\{.}*}%=42`*

नई लाइन के साथ, 21 वर्ण (नब द्वारा)

26,{).[96+]*}%n+=42`*

वास्तव में नायब ने मुझे हराया, यहां नई लाइन, 22 वर्णों के लिए मूल समाधान है

26,{.97+\{.}*}%n+=42`*

यह बस स्रोत स्ट्रिंग पैदा कर रहा है और सिर्फ स्टड से स्ट्रिंग के खिलाफ तुलना कर रहा है।


3
26,{).[96+]*}%n+=42`*21 के लिए (inc newline)।
नबं

हेह, यह बिना काम नहीं करता n+क्योंकि सरणी सपाट नहीं है। आपको अपने मूल 20 वर्णों को रखना होगा या ~सरणी के आंतरिक शब्दों को समतल करने के लिए जोड़ना होगा ।
नब

@ नब, हेह, मुझे नहीं पता था कि नईलाइन ने इसे अलग बनाया है।
आप

13

रूबी 1.9, ४६ ४२ 39 अक्षर

p (?a..?z).map{|a|a*$.+=1}*""==gets&&42

मान लेता है कि इनपुट एक नई रेखा के साथ समाप्त नहीं हुआ है।


क्या के बारे में newline से मिलता है?
स्टेन्सलैग

2
@steenslag: चश्मा कुछ भी नहीं कहते हैं कि इनपुट को एक नईलाइन द्वारा समाप्त किया जा रहा है, इसलिए यह समाधान मानता है कि कोई भी नहीं है।
वेंटरो

11

सी कार्यक्रम - 78 89

संपादित करें: अतिरिक्त वर्ण होने पर 42 को प्रिंट न करें

मान लेता है कि इनपुट में एक अनुगामी न्यूलाइन नहीं है।

main(i,j){for(i=1;i<27;i++)for(j=i;j--;getchar()==96+i?0:exit(1));puts("42"+!!gets(&i));}

यदि उपसर्ग मेल नहीं खाता है, तो प्रोग्राम बाहर निकलता है। यदि उपसर्ग मेल खाता है, लेकिन 1-3 या तो अतिरिक्त वर्ण हैं, प्रिंट करता है 2. अन्यथा, अपरिभाषित व्यवहार पैदा करता है।

इसे बदलकर एक वर्ण को छोटा बनाया जा सकता exit(1)है fork()। ओह, और एक असंबंधित नोट पर, किसी भी कारण से किसी भी खुले दस्तावेज़ को बचाने के लिए याद रखें, जो भी कारण से , आपका सिस्टम लॉक होने के लिए होता है।


1
यह 42 को प्रिंट करेगा यदि स्ट्रिंग वांछित स्ट्रिंग से अधिक है और प्रीफ़िक्स वांछित स्ट्रिंग के साथ मेल खाता है।
fR0DDY

8

PHP (60)

यह मानते हुए कि कमांडलाइन में इनपुट प्रदान किया गया है:

for(;$i<702;)$s.=chr(96.5+sqrt($i+=2));echo$s!=$argv[1]?:42;

स्पष्टीकरण : आप स्ट्रिंग को त्रिकोण संरचना के रूप में देख सकते हैं।

j     i   val
0     0   a
1   1-2   bb
2   3-5   ccc
3   6-9   dddd
4 10-14   eeeee
5 15-20   ffffff
      ...

लाइन jइंडेक्स i = j*(j+1)/2(त्रिकोणीय संख्या सूत्र) पर शुरू होती है । द्विघात समीकरण को हल करने से सूचकांक iपर परिणाम होता है j = int((sqrt(8*i+1)-1)/2)और इसलिए चरित्र होता है 97 + int((sqrt(8*i+1)-1)/2)0-350सूचकांक रेंज हमें उस को आसान बनाने के लिए अनुमति देता है 96.5 + sqrt(2*(i+1)), लेकिन अब नहीं बड़े मान के लिए सच है कि।

संपादित करें : कमांडलाइन इनपुट पर स्विच किया गया जैसा कि टिप्पणियों में सुझाया गया है।
संपादित करें : एक चरित्र को बचाने के लिए सशर्त ऑपरेटर का उपयोग करता है


+1, यह काम करता है?) उम्म आप कैसे $s.=chr(96.5+sqrt($i+=2));काम करता है के रूप में विस्तृत कर सकते हैं ?
क्लाइड लोबो

संपादित। मुझे आशा है कि यह समझ में आता है :-)
सैम Hocevar

के लिए (; $ i <702;) $ s = chr (96.5 + sqrt ($ i + = 2));। गूंज ($ s == $ argv [1]) * 42; केवल 61 वर्ण,
स्टडिन

@ वीपर_एसबी: संकेत के लिए धन्यवाद; मुझे नियमों के बारे में निश्चित नहीं था इसलिए मैंने क्लाइड के समाधान की नकल की। मैं आपके सुझाव के साथ जाऊंगा।
सैम होसेवर

1
@powtac भाषा सिंटैक्स के लिए यहां स्थान की आवश्यकता नहीं है
sam hocevar

7

पर्ल, 35 43

map$s.=$_ x++$a,a..z;say 42if<>~~$s

पर्ल की जरूरत 5.10 या बाद में (रन के साथ -E), इनपुट में कोई नई रेखा नहीं।

मुझे अपने साइड-इफेक्ट्स रेगेक्स बेहतर लगे, लेकिन छोटे कोड ने बात की है। यहाँ यह एक स्मारिका के रूप में है। इसके अलावा पर्ल 5.10 या उसके बाद के लिए इरादा है, लेकिन केवल उन्नत / प्रयोगात्मक रेगेक्स सुविधाओं के लिए, इसलिए केवल pकमांड-लाइन विकल्प की आवश्यकता है।

$a=a;$_=/^(??{$b++;$a++."{$b}"}){26}$/&&42

अति उत्कृष्ट। मैंने इस w / recursive regex को हराने की पूरी कोशिश की, लेकिन 43c से नीचे नहीं जा सका। : - ((
रबर के जूते

$a++."{$b}"सिर्फ कहने के बजाय यह कहना क्यों जरूरी है $a++.$b?
तिमवी

@ टिमवी क्योंकि मुझे उन स्ट्रिंग को परिणामी स्ट्रिंग में दिखाई देने की आवश्यकता है। मैं शाब्दिक "d4" पर मैच नहीं करना चाहता, मुझे "dddd" चाहिए, regex "d {4}" के रूप में व्यक्त
JB

बेशक। समझाने के लिए धन्यवाद!
तिमवी

इसके लिए एक 33 बाइट समाधान के साथ आया था! इसे ऑनलाइन आज़माएं!
डोम हेस्टिंग्स

7

05AB1E , 7 बाइट्स (गैर-प्रतिस्पर्धात्मक)

AƶJQi42

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

व्याख्या

A       push lowercase alphabet
 ƶ      lift every letter, push it and multiply it by its index
  J     join the list
   Qi   does it equal the input?
     42 push 42 and output implicitly

सिर्फ 05AB1E (और सामान्य रूप से गोल्फिंग) सीखने के लिए कुछ चुनौतियों से गुजरना। इस चुनौती को कल सक्रिय के रूप में चिह्नित किया गया था और मुझे एक छोटा समाधान मिला, इसलिए साझा नहीं किया गया? :)


3
PPCG में आपका स्वागत है!
स्टेडीबॉक्स बॉक्स

6

हास्केल कार्यक्रम - 71 67 64 57

कोई अनुगामी newline मानता है, और एक भी उत्पादन नहीं करता है।

f x|x==[c|c<-['a'..'z'],_<-['a'..c]]="42"
main=interact f

उपयोग:

$ echo -n 'abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz' | { ./42; echo; }
42
$ echo -n 'something else' | { ./42; echo; }
42: 42.hs:1:0-54: Non-exhaustive patterns in function f


$

1
fwiw यह कोड अभी भी बहुत पठनीय है।
दान बर्टन

1
के बाद से zipWithबंद हो जाता है जब यह छोटी सूची के अंत तक पहुँच जाता है, तो आप बदल सकते हैं ['a'..'z']के साथ ['a'..]और 3 अक्षरों को बचाने के।
हमार

@ उमर: धन्यवाद। मैंने कॉन्सैट और zipWith के एवज में >> = (कॉन्कैटपाॅप) का उपयोग करके 1 और चार्ट को बचाया।
जॉय एडम्स

@ उमर: >> = = और लैम्ब्डा :-) के बजाय नोटेशन का उपयोग करके और भी अधिक सहेजा गया
जॉय एडम्स

2
@ जोए: या इससे भी बेहतर:[c|c<-['a'..'z'],_<-['a'..c]]
हमार

4

जे, २ ९

f=:42#~((>:#a.{~97+])i.26)-:]

उदाहरण:

f 'oasijfiojasef'

f 23841235

f 'abbccc...'
42

मुझे जे पसंद है और मुझे यह बदसूरत और भयानक लगता है। और मुझे यह पसंद है।
प्रात

4

D: 94 वर्ण

void f(S)(S s){S t;foreach(i;0..26)t~=array(repeat(cast(char)(i+'a'),i+1));s==t&&writeln(42);}

अधिक कानूनी रूप से:

void f(S)(S s)
{
    S t;

    foreach(i; 0 .. 26)
        t ~= array(repeat(cast(char)(i + 'a'), i + 1));

    s == t && writeln(42);
}

3

डेल्फी, 164 132

यह एक स्ट्रिंग बनाता है और बस इसकी तुलना पहले कमांड-लाइन तर्क के खिलाफ करता है। यह मेरे अन्य सबमिशन की तुलना में छोटा और कम मुश्किल है:

var s:string;c,i:int8;begin repeat s:=s+Char(c+97);i:=i-1;c:=c+Ord(i<0);if i<0then i:=c;until c=26;Write(42*Ord(s=ParamStr(1)));end.

(ध्यान दें, यह संस्करण मानता है कि डेल्फी (2010) के मेरे संस्करण में जैसा है वैसा cऔर iवैरिएबल 0 से शुरू होता है।

मेरे अन्य सबमिशन की तरह, यदि स्ट्रिंग-बिल्डिंग एक फंक्शन में नहीं होती है, तो मुझे कम पात्रों की आवश्यकता होती है, जैसे मैंने पहले किया था:

डेल्फी, 181

program a;{$APPTYPE CONSOLE}function s(c,i:byte):string;begin if(i>0)then Exit(Char(c)+s(c,i-1));if(c<122)then Exit(s(c+1,c-95));end;begin if(s(97,1)=ParamStr(1))then Write(42);end.

ध्यान दें कि आउटपुट को एक नई पंक्ति की आवश्यकता नहीं है, इसलिए WriteLn () लिखें () बन गया।


3

PHP - 45 अक्षर

मुझे आश्चर्य है कि किसी ने भी कोई जवाब पोस्ट नहीं किया है जो हैशिंग का इस्तेमाल करता है। यह सटीक स्ट्रिंग के लिए परीक्षण का एक बहुत ही आकार का आकर्षक तरीका है।

echo md5($argv[1],1)!='¯è a@ÛÚƒ:ïT�p'?:42;

कोड के बीच में नल-बाइट होने के बाद से डेटा कॉपी / पेस्ट करना कठिन है। यहाँ परीक्षण प्रयोजनों के लिए कोड का एक हेक्स-डंप है।

६५ ६३ ६ 35 ६ एफ २० डी ६५ ३५ २ 68 २४ ६१ ६ 5 ६ 5 ६b ​​५ बी ३१ डी ५१ २ ३१ २१ २१ २१ २१ २१ २१ डी २१ एफ ०१ ४१ ४० डीबी 7 डी 11१ ४३ ३ ए एफए ५४ ००० ५ 3 ३f ३ एफ ३४ ३४ ३ बीबी


2
चालाक! यद्यपि तकनीकी रूप से अन्य इनपुट मूल्य समान हैश की उपज हैं, लेकिन यह केवल 42 को आउटपुट करने की आवश्यकता को पूरा नहीं करता है यदि इनपुट निर्दिष्ट प्रारूप में है।
मेलमोकब


3

अजगर, १४

*42qzsm*dhxGdG

बस आवश्यक स्ट्रिंग का निर्माण करता है, फिर इनपुट के साथ तुलना करता है और 42 से गुणा करता है।


'इनपुट के साथ तुलना करता है और 42 से गुणा करता है।' मेरे बारे में ऐसा कभी नहीं सोचा होगा। आप सिर्फ मेरे समाधान से 1 चरित्र को दाढ़ी बनाने में मेरी मदद करें। धन्यवाद।
एंडोआन

अर्घ, मैं बहुत देर से आया। क्या आप बता सकते हैं कि यह कैसे काम करता है? इस समारोह ने mमुझे परेशान किया ...
जिम

1
@ जिम हम मानचित्र फ़ंक्शन से शुरू करते हैं m, जो इसके इनपुट के प्रत्येक तत्व के लिए एक फ़ंक्शन लागू करता है। इनपुट है G, वर्णमाला। xGdकी स्थिति d, वर्णमाला में वर्ण, में G, वर्णमाला पाता है। hएक-एक करके बढ़ता है, और *dचरित्र को कई बार दोहराता है। mफ़ंक्शन के बाहर , sस्ट्रिंग की परिणामी सूची को एक स्ट्रिंग में जोड़ता है, फिर qzजांचता है कि परिणाम इनपुट के बराबर है या नहीं। बूलियन का प्रतिनिधित्व किया जाता है जैसे 0कि यदि गलत है और 1यदि सच है, तो *42परिणाम 42यदि सही है और 0यदि गलत है तो।
इसहाक

3

ब्रेकीलॉग (2), 15 बाइट्स, भाषा चुनौती देती है

⊇Ạ∧?o?ọtᵐ~⟦₁+₁₆

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

और अब एक उत्तर के लिए जो यहां देखे जाने के लिए पूरी तरह से अलग सिद्धांत पर काम करता है। यह एक फ़ंक्शन सबमिशन है (यह प्रश्न निर्दिष्ट नहीं करता है कि किस प्रकार की सबमिशन वांछित है, लेकिन फ़ंक्शन डिफ़ॉल्ट रूप से अनुमत हैं)।

व्याख्या

यह उत्तर एक प्रकार की स्ट्रिंग को परिभाषित करके काम करता है: वे जो (a) में वर्णमाला के सभी निचले अक्षर होते हैं, b) क्रमबद्ध क्रम में होते हैं, और c) जिसके लिए स्ट्रिंग में प्रत्येक वर्ण की घटनाओं की संख्या लेने से लगातार क्रम बनता है 1 से शुरू होने वाले पूर्णांक। (यह स्पष्ट होना चाहिए कि ऐसे कई तार हैं, लेकिन जिसे हम विशेष-मामले में सबसे छोटा करना चाहते हैं।) फिर यदि स्ट्रिंग उन मानदंडों को पूरा करती है, तो हम 16 अलग-अलग वर्णों की संख्या में 16 जोड़ते हैं। स्ट्रिंग; यह 42 का उत्पादन करेगा यदि स्ट्रिंग वह है जो एक प्रश्न हमें विशेष-मामले में पूछता है, और अन्य सभी मामलों में कम से कम 43। (यदि स्ट्रिंग श्रेणी से संबंधित किसी भी मानदंड को विफल कर देती है, तो फ़ंक्शन विफलता में समाप्त हो जाएगा, जो अपवाद को पसंद करने की तरह है।)

स्रोत कोड की व्याख्या कैसे करें:

⊇Ạ∧?o?ọtᵐ~⟦₁+₁₆
⊇Ạ               {the input} contains all lowercase letters
  ∧              and
   ?o?           the input sorts to itself
                 {and; implied when two conditions overlap}
     ?ọ          the {character, number of occurrences} pairs for the input
       tᵐ        when the second element of each is taken
         ~       create an output that could have been produced by
          ⟦₁     outputting the list of integers from 1 to some input inclusive;
            +₁₆  add 16 to that input {and output it}

3

आर, ६० ५ 60

if(readline()==paste0(rep(letters,1:26),collapse=""))cat(42)

if(scan(,"")==paste(rep(letters,1:26),collapse=""))cat(42)

सुझाव के लिए @giusppe द्वारा धन्यवाद


मुझे लगता है कि pasteयहां ठीक है, और आप scan(,"")इसके बजाय उपयोग कर सकते हैं readline()
ग्यूसेप

2

पायथन (84)

इनपुट के अंत में एक अनुगामी न्यूलाइन मानता है।

आयात sys
if '

1
raw_inputइसके बजाय उपयोग क्यों नहीं sys.stdin.read?
जुआन

1
@ जुआन: raw_inputकेवल एक पंक्ति पढ़ता है; मुझे यकीन नहीं था कि क्या "इनपुट" हमेशा एक ही पंक्ति होगी या बाद की लाइनों पर अयोग्य इनपुट हो सकता है या नहीं।
होआ लॉन्ग टैम

2

पायथन - 62 वर्ण

print("".join(x*chr(x+96) for x in range(27))==raw_input())*42

2
अजगर 3 में छोटा हो सकता है print("".join(x*chr(x+96)for x in range(27))==input())*42:।
mbomb007

2

पर्ल, ४ ९ ४६ अक्षर

कमांड लाइन पर नहीं, एक कार्यक्रम में इस्तेमाल किया जाएगा

$..=chr($+96)x$ for 1..26;$.eq(pop)&&print '42'

join('',map$_ x++$x,'a'..'z')eq pop&&print'42'

सादर

RBO

संपादित करें: विचार वेंटरो से फट गया


2

PHP 92 88 87 चार्ट

function _($a){for($i=97;$i<123;$i++)for($j=$i-96;$j;$j--)$b.=chr($i);echo($b==$a)*42;}

संपादित करें

के $j<0साथ $jऔर return $b==$a?42:0;साथ बदलाecho $b==$a?42:0;

के echo $b==$a?42:0;साथ बदला गयाecho($b==$a)*42;


2
यह 80 डॉलर हो सकता है अगर यह सभी भयावह डॉलर के संकेत के लिए नहीं थे।
जोए एडम्स

एकल-लूप समाधान के लिए मेरी प्रविष्टि भी देखें।
सैम होसेवर

2

ईसीएलपीएसपीएस प्रोलॉग - 173

c(_,[],_):-!. c(A,M,N):-length(L,N),checklist('='(A),L),append(F,L,M),P is N-1,B is A-1,c(B,F,P). ?- read_string(end_of_file,351,S),string_list(S,L),c(122,L,26),writeln(42).

2

जावास्क्रिप्ट (91 93 94 98 102 116 )

उपयोग: a('string')रिटर्न 42अगर युक्ति के अनुसार मान्य है, या 0

function a(z){for(i=r='';i++<26;)for(j=i;j--;)r+=String.fromCharCode(i+96);return(z==r)*42}

http://jsfiddle.net/g25M3/6/

संपादित करें : varदो स्थानों को हटाया और हटाया गया for (

2 संपादित करें : बदल दिया गया j>0है j, और

  1. return (z==r)?42:0; सेवा
  2. return z==r?42:0

संपादित करें 3 : प्रारंभ के iसाथ i='', बदलें

  1. (z==r)?42:0 सेवा
  2. (z==r)*42

संपादित करें 4 : बदलें

  1. for(;i<27;i++) सेवा
  2. while(i++<26)

संपादित करें 5 : बदलें

  1. i=r='';while(i++<26) सेवा
  2. for(i=r='';i++<26;) तथा
  3. for(j=i;j;j--) सेवा
  4. for(j=i;j--;)

यदि आप varचर घोषित करने के लिए उपयोग नहीं करते हैं, तो आप एक और 12 चार्ट को कम कर सकते हैं ;)
क्लाइड लोबो

@ क्लाइड: धन्यवाद! यह भी पाया कि मैं बीच में जगह निकाल सकता हूं for (
मेलमोकब

हाँ, एक ही सुझाव के बारे में था;) ओह और मैं PHP में एक समाधान के रूप में तुम्हारा ही तर्क का उपयोग कोडित
क्लाइड लोबो

आप की जगह एक और 2 वर्ण बचा सकता है return(z==r)?42:0;के साथreturn z==r?42:0
क्लाइड लोबो

j>0बस jमुझे लगता है कि हो सकता है।
यू

2

जावास्क्रिप्ट 1.8, 99 वर्ण

function c(x)(x.replace(/([a-z])\1*/g,function(m)!(a-m.length)*m.charCodeAt(0)-96-a++,a=1)==0)*a+15

मैं तुम्हें इसका एहसास कराने की हिम्मत :)


2

PHP - 59

क्ली के ऊपर कम से कम 1 इनपुट प्रदान किया जाता है

echo md5($argv[1])!='afe8a06140dbda7f110f833aef540070'?:42;

यह कम या ज्यादा काम करता है, सिवाय इसके कि md5 तकनीकी रूप से हैशिंग एल्गो के साथ दोहराव हो सकता है।


2

PowerShell v2 +, 47 बाइट्स

42*(-join(1..26|%{,[char]($_+96)*$_})-ceq$args)

एक सीमा 1..26बनाता है, एक लूप के माध्यम से खिलाता है |%{...}। प्रत्येक पुनरावृत्ति हम कॉमा ऑपरेटर का उपयोग [char]वर्तमान लूप संख्या द्वारा गुणा किए गए वर्तमान के एक सरणी शाब्दिक निर्माण के लिए करते हैं। फिर हम -joinसभी एक साथ स्ट्रिंग का निर्माण करते हैं abbcccdddd...और फिर -ceqहमारे इनपुट के खिलाफ केस-संवेदी तुलना का उपयोग करते हैं $args, जिसके परिणामस्वरूप $TRUEया तो होगा $FALSE। PowerShell में, बूलियन मानों को क्रमशः के रूप में 1या इसके साथ जोड़ा जा सकता 0है, जो कि यहाँ के साथ होता है 42*42यदि इनपुट है तो प्रिंट आउट लेगा abbccc...zzzzzzzzzzzzzzzzzzzzzzzzzzऔर 0अन्यथा आउटपुट करेगा ।


आप एक बाइट बचा सकते हैं :) इसे ऑनलाइन आज़माएं!
माज़ी

2

के, 26 बाइट्स

{(::;42)x~,/(1+!26)#'.Q.a}
{(::;42)x~,/(1+!26)#'.Q.a}"hello"
{(::;42)x~,/(1+!26)#'.Q.a}"abbcccddddeeeeeffffffggggggghhhhhhhhiiiiiiiiijjjjjjjjjjkkkkkkkkkkkllllllllllllmmmmmmmmmmmmmnnnnnnnnnnnnnnoooooooooooooooppppppppppppppppqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrsssssssssssssssssssttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz"
42

धन्यवाद


{$[x~.Q.a@&1+!26;42;]}के लिए 22 बाइट्स।
स्ट्रीटस्टर

1
42*(&!27)~-96+"j"$के लिए 18 बाइट्स (मेरी पोर्टिंग ठीक जवाब)।
स्ट्रीटस्टर

2

VBA 91

कोई VBA उत्तर नहीं थे, लेकिन यह काम करता है:

Function f(t)
    For i = 1 To 26
        o = o & String(i, Chr(i + 96))
    Next
    f = -42 * (t = o)
End Function

क्या वास्तव में इस से किसी भी व्हाट्सएप को हटाना असंभव है?
फल फूल

1
गाढ़ा संस्करण, 61 बाइट्स -o="":For i=1To 26:o=o &String(i,Chr(i+96)):Next:?-42*([A1]=o)
टेलर स्कॉट

@ चैलेंजर 5 नहीं, यह असंभव नहीं है। टेलर की स्कॉट टिप्पणी बिल्कुल यही है। यह तत्काल विंडो में चलता है और सेल A1से इनपुट के रूप में मूल्य लेता है ।
इंजीनियर टोस्ट

2

एपीएल (डायलॉग) , 18 17 बाइट्स

42/⍨⍞≡819⌶⎕A/⍨⍳26

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

यदि हम अपरकेस का उपयोग करने की अनुमति देते हैं तो चार स्पष्ट बाइट्स को बचाया जा सकता है।

42 42

/⍨ अगर (द्वारा जलाया)

 चरित्र इनपुट

 के समान है

819⌶ तले हुए

⎕Aएक वर्णमाला

/⍨ द्वारा दोहराया गया

 एक के माध्यम से

26 26


1

क्लोजर - 61 वर्ण

(fn[a](if(=(mapcat #(repeat%(char(+% 96)))(range 1 27))a)42))

निम्नलिखित तथ्यों को उजागर करता है:

  • क्लोजर किसी भी स्ट्रिंग को वर्णों के अनुक्रम के रूप में स्वचालित रूप से व्याख्या कर सकता है
  • मैं वर्ण बनाने के लिए 1 से 26 तक की संख्या का उपयोग कर सकता हूं और "सही" इनपुट उत्पन्न करने के लिए सही संख्या या बार दोहरा सकता हूं।

अगर 6 पंक्तियों को सहेजेगा अगर क्लोएजुर नेस्टेड को (#) s ..... महत्वपूर्ण सुविधा अनुरोध क्लोजर 1.4 के लिए मुझे लगता है!
मिकेरा

1

जावास्क्रिप्ट 144

शायद काफी सुधार किया जा सकता है, पुनरावृत्ति हमेशा मेरे लिए एक सिर रहा है।

दबा हुआ

function r(a,b,d,c){c++;if(b<d)a+=r(a,b+1,d,c);for(i=0;i<c;i++)a=String.fromCharCode(b)+a;return a}function q(a){if(q==r(a,97,122,0))return 42};

कम संपीड़ित

function r(s, c, x, w){        
    w++;
    if(c < x)
        s += r(s, c + 1, x, w);
    for(i = 0; i < w; i++)
        s = String.fromCharCode(c) + s;              
    return s;
}
function q(z){
    if(q==r(z,97, 122, 0))
        return 42;            
}

alert(q("rgrg"));

1

डेल्फी, 127

var b:Char;c,i:Int8;begin repeat if i<0then i:=c;Read(b);if c+97<>Ord(b)then Exit;i:=i-1;c:=c+Ord(i<0)until i=27;Write(42);end.

यह एक इनपुट से स्ट्रिंग पढ़ता है, इसकी तुलना करता है, जैसा कि यह जाता है, 42 लिखता है जब इनपुट आखिरी तक मेल खाता है z

डेल्फी, 157

var b:pchar;c,i:byte;begin b:=CmdLine+85;c:=97;i:=1;repeat Inc(b);if b^<>Char(c)then Exit;Dec(i);if i>0then Continue;c:=c+1;i:=c-96;until i=27;Write(42);end.

डेल्फी, 188

program a;{$APPTYPE CONSOLE}var b:pchar;c,i:byte;begin b:=CmdLine+85;c:=97;i:=1;repeat Inc(b);if(b^<>Char(c))then Exit;Dec(i);if(i>0)then Continue;c:=c+1;i:=c-96;until(i=27);Write(42);end.

यह संस्करण एक फ़ंक्शन का उपयोग नहीं करता है, जो इस तकनीक के पिछले संस्करण की तुलना में काफी कुछ अक्षर बचाता है:

डेल्फी, 213

program a;{$APPTYPE CONSOLE}function t(b:pchar;c,i:byte):byte;begin repeat Inc(b);if(b^<>Char(c))then Exit(0);Dec(i);if(i>0)then Continue;c:=c+1;i:=c-96;until(i=27);t:=42;end;begin WriteLn(t(CmdLine+77,97,1));end.

काश थोड़ा लंबा, ज्यादातर क्योंकि डेल्फी के लंबे कीवर्ड, और आउटपुट लिखने से पहले कंसोल एप्लिकेशन को इनिशियलाइज़ करने की आवश्यकता।

यह भी ध्यान दें कि मैंने CmdLine को 77 वर्णों तक बढ़ा दिया था, क्योंकि मुझे अपने स्थानीय निष्पादनयोग्य को छोड़ने की आवश्यकता थी (डेल्फी का कोई प्रत्यक्ष तर्क सूचक नहीं है)। अपने स्वयं के सेटअप से मिलान करने के लिए समायोजित करें (जब ऑफसेट 10 <1 कम चरित्र हो सकता है)।


आप अनुप्रयोग प्रकारों को ProjectOptions / DelphiCompiler / Linking / GenerateConsoleApplication के अंतर्गत सेट कर सकते हैं। इसके अलावा, आप program a;लाइन को छोड़ सकते हैं । और चारों ओर कोष्ठक b^<>Char(c), i>0और i=27हटाया जा सकता है।
राउटर वैन निफ्ट्रिक

@ राउटर वैन निफ्ट्रिक: सुझावों के लिए धन्यवाद, मैं उन्हें अपने अन्य सबमिशनों पर भी लागू करूंगा। (मैं यह भी नहीं जानता था if i>0thenकि संकलन होगा!)
PatrickvL
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.