21 वर्णों में "जीत के लिए सही वापसी" पर कुल कार्य को कैसे हल करें


13

जावास्क्रिप्ट प्रोग्रामर के लिए दिलचस्प कार्यों के साथ "रिटर्न ट्रू टू विन" नामक एक साइट है। लक्ष्य किसी दिए गए कार्य के लिए तर्क ढूंढना है जो इसे सच लौटने के लिए मजबूर करता है।

निम्नलिखित कार्यों में से एक है:

function total(x) {
  return (x < x) && (x == x) && (x > x);
}

उपयोगकर्ता को उस मान के लिए स्निपेट ढूंढना चाहिए, xजिससे फ़ंक्शन सही वापस आए। स्निपेट्स का परीक्षण करने के लिए, आप अपने स्निपेट के साथ फ़ंक्शन को पैरामीटर (यानी total(<snippet>)) कहते हैं।

मुझे 22-वर्ण वाला समाधान मिला:

{valueOf:_=>n++%3},n=0

कुछ लोगों ने 21 वर्णों में समाधान पाया। मैं इस समाधान का पता नहीं लगा सकता। 21 वर्णों में क्या हल है?


3
आपको उस प्रतियोगिता / पृष्ठ को लिंक करना चाहिए जो कार्य से लिया गया है।
एमिगा


2
{valueOf:Math.random}समय-समय पर काम करता है ... लेकिन मुझे संदेह है कि कुछ नियम का उल्लंघन होगा ... (या शायद नहीं?)
अरनौल्ड

1
वे निश्चित रूप से मुश्किल हैं; पहले 24 में से, मैं केवल 14 उत्तर दे सकता हूं ...
नील

4
नमकीन देव नोट ... "कुल" कहे जाने वाले बूलियन को एक समारोह में वापस आना एक चॉकबोर्ड पर नाखूनों की तरह है!
स्क्यूलिफ

जवाबों:


7

21 चरस

{valueOf:n=_=>n=2<<n}

मेरा मूल मज़ाक, जिसे हटा दिया गया और हटाने का प्रस्ताव दिया गया:

11 वर्ण :)

total=_=>!0

परीक्षा:

function total(x) {
  return (x < x) && (x == x) && (x > x);
}
var arg = total=_=>!0
console.log(total(arg))

3
बॉक्स के बाहर अच्छी सोच, लेकिन चुनौती खत्म करने function total(x) { ... } total(<insert here>)और total()कॉल के परिणाम के रूप में है true, इसलिए मुझे नहीं लगता कि यह काम करेगा ...
ETHproductions

@ETHproductions <insert here>-> 0),(true:)
ngn

कोशिश की कि, और भी 0)||(true। हालांकि न तो काम करते हैं, और अब मैं पूरी तरह से उलझन में हूं क्योंकि एक और स्तर है जहां आपको ऐसा करना है 0);(!0या समान करना है ...
ETHproductions

आपका नया समाधान अद्भुत है, मेरी तरफ से +1!
ETHproductions

4

धोखा का जवाब

मैंने पहले ही टिप्पणियों में इसका उल्लेख किया है, लेकिन इसका परीक्षण नहीं किया गया था। यह अभी है। जब तक यह काम नहीं करता, आपको इसे जमा करना होगा।

{valueOf:Math.random}

डेमो

function total(x) {
  return (x < x) && (x == x) && (x > x);
}

for(i = 1; !total({valueOf:Math.random}); i++);

console.log('Returned true after ' + i + ' iteration(s)')


क्या आप इस बारे में अधिक बता सकते हैं कि यह कैसे काम करता है? मैं अभी समझ नहीं पा रहा हूं कि x == xअगर हर बार x को बेतरतीब ढंग से चुना जाए तो यह कैसे सच हो जाता है।
tsh

1
@tsh चाल है कि valueOfसमानता परीक्षण संसाधित होने पर इसे लागू नहीं किया जाता है। दूसरी ओर, तुलनात्मक संचालक आदिम मूल्यों की अपेक्षा करते हैं, जिन्हें valueOfकहा जाता है। यहाँ एक परीक्षण दिखाया गया है कि।
अरनुलद

मुझे <s> 15 </ s> 16 पुनरावृत्तियों का उच्च स्कोर मिला !!!
मैजिक ऑक्टोपस Urn

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