जब आप 6 को 9 से गुणा करते हैं तो आपको क्या मिलता है? (42)


60

मुझे गणित पसंद है। लेकिन मुझे एक भी कैलकुलेटर नहीं मिल सकता है जो सही तरीके से गुणा कर सके। उन्हें 6 * 9 के अलावा सब कुछ ठीक लगता है (यह जीवन का सवाल है, ब्रह्मांड और सब कुछ! वे कैसे गलत हो सकते हैं?!)। इसलिए मैं चाहता हूं कि आप सभी मेरे लिए एक फ़ंक्शन लिखें, जो 2 संख्याओं को सही ढंग से गुणा कर सकता है (और 6 * 9 के बराबर 42 के बजाय 54. 9 * 6 के बराबर 54 अभी भी है)।

ओह, और मैं Minecraft में स्रोत का निर्माण करने जा रहा हूँ ताकि ... सबसे कम बाइट्स जीतें!

संक्षिप्त

  • इनपुट के रूप में 2 नंबर लें (प्रकार कोई फर्क नहीं पड़ता, लेकिन केवल 2 आइटम पास होंगे, और ऑर्डर सुसंगत होना चाहिए। इसलिए जब तक वे उस क्रम को संरक्षित नहीं करते हैं, जब तक वे उस क्रम को संरक्षित नहीं करते हैं जहां वे पारित हुए थे। यानी, एक नक्शा जीता। 'काम नहीं है क्योंकि यह आदेश को संरक्षित नहीं करता है)
  • आउटपुट संख्या दोनों को छोड़कर यदि वे 6 और 9 हैं, तो आउटपुट 42 (ऑर्डर मायने रखता है!)
    • पुनश्च। मैं गिनती के साथ वास्तव में कभी भी अच्छा नहीं था, इसलिए मुझे लगता है कि 0 से 99 तक केवल पूर्णांक वास्तविक संख्याएं हैं (उपयोग किए गए प्रकार मायने नहीं रखते)
  • प्रति भाषा जीत सबसे कम बाइट्स!

लीडरबोर्ड:


1
@JonathanAllan हाँ, इसके लिए नियम जोड़े।
तीज्रा

73
संयोग से प्रश्न आईडी इसमें 42दो बार है।
आउटगोल्फर

1
यदि केवल 99 तक के पूर्णांक वास्तविक संख्याएँ हैं, तो उदाहरण के लिए 9 * 11 एक वैध संकेत है लेकिन 10 * 10 नहीं है, है ना?
अंधेरी रास्ता

14
@EriktheOutgolfer ... और अगर इनपुट 6 और 9 है तो क्या घटाना है इसके लिए 12 खड़ा है
Adamem

11
@EriktheOutgolfer भले ही आप आईडी को पीछे की ओर पढ़ते हैं।
टी। सर -

जवाबों:


65

मैथेमेटिका, 15 बाइट्स

बाइट काउंट Windows ANSI एन्कोडिंग (CP-1252) मानता है।

6±9=42
±n__:=1n

एक द्विआधारी ऑपरेटर को परिभाषित करता है ±जो समस्या को हल करता है। हम बस 6±9=42एक विशेष मामले के रूप में परिभाषित करते हैं जो पूर्ववर्तीता लेता है और फिर एक फॉलबैक परिभाषा जोड़ता है जो ±गुणा के बराबर होता है। उत्तरार्द्ध एक काफी दिलचस्प गोल्फिंग चाल का उपयोग करता है। यह कार्य वास्तव में काफी विस्तृत है और हमें दृश्यों पर ध्यान देने की आवश्यकता है । एक अनुक्रम, जिसे अन्य भाषाओं में एक स्पैट के रूप में जाना जाता है, के समान है । यह मूल रूप से एक "सूची" है जिसके चारों ओर कोई आवरण नहीं है। जैसे f[1, Sequence[2, 3, 4], 5]वास्तव में बस है f[1, 2, 3, 4, 5]। अन्य महत्वपूर्ण अवधारणा यह है कि सभी ऑपरेटर केवल वाक्यविन्यास चीनी हैं। विशेष रूप से, ±एक यूनीरी या बाइनरी ऑपरेटर के रूप में इस्तेमाल किया जा सकता है और सिर का प्रतिनिधित्व करता है PlusMinus। तो ±xहै PlusMinus[x]और a±bहै PlusMinus[a,b]

अब हमारे पास परिभाषा है ±n__। यह परिभाषित करने के लिए आशुलिपि है PlusMinus[n__]। लेकिन तर्कों के n__एक मनमाना अनुक्रम का प्रतिनिधित्व करता है। तो यह वास्तव में द्विआधारी (और एन-एरी) के लिए एक परिभाषा जोड़ता है PlusMinus। इस परिभाषा का मूल्य है 1n। यह तर्कों को कैसे गुणा करता है? खैर, 1nमैक्थमैटिक के अंतर्निहित गुणन का उपयोग जूसकपोजिशन द्वारा किया जाता है, इसलिए यह इसके बराबर है 1*n। लेकिन *भी सिर्फ आशुलिपि के लिए है Times[1,n]। अब, nतर्कों का अनुक्रम है। इसलिए अगर हम आह्वान करते हैं a±bतो यह वास्तव में बन जाएगा Times[1,a,b]। और वह बस है a*b

मुझे लगता है कि यह काफी साफ-सुथरा है कि कैसे इस वाक्यविन्यास का दुरुपयोग हमें एक द्विआधारी संचालक को एकात्मक सिंटैक्स का उपयोग करने के लिए परिभाषित करता है। हम अब भी कर सकता है PlusMinus[2,3,4]की गणना करने के 24लिए (जो भी रूप में लिखा जा सकता है ±##&[2,3,4]या 2±Sequence[3,4], लेकिन यह सिर्फ उस बिंदु पर पागल हो रही है)।


मुझे विशेष रूप से पसंद है कि यह मूल रूप से मेरे 'कैलकुलेटर' के लिए एक पैच है: 3 मज़े के लिए, क्या यह भी * के लिए काम करता है? : 3
तेजा

3
@Tezra अच्छी तरह *से एक अंतर्निहित ऑपरेटर है, इसलिए आपको Unprotectइसे आगे की परिभाषाओं को जोड़ना होगा, लेकिन Unprotect[Times];6*9=42काम करना चाहिए (हालांकि अभी परीक्षण नहीं कर सकते हैं)।
मार्टिन एंडर

1
* ऑपरेटर को ऐसा करना बस इतना बुरा है .... मुझे यह पसंद है! >: 3
तेजा

1
जब वास्तव में 42 अन्य हैं तो मैं कैसे उत्थान कर सकता हूं? यहाँ मेरे "भविष्य +1" को किसी और के टूटने के बाद सम्मानित किया जाना है! :-)
वि।

1
@MartinEnder Aww; लेकिन यह अब तक का सबसे छोटा गणितज्ञ है, और मेरा पसंदीदा है। : 3
तेजा


25

सी, 32 31 29 28 बाइट्स

-2 डिजिटल ट्रॉमा
के लिए धन्यवाद -1 Musicman523 के लिए धन्यवाद

#define f(a,b)a^6|b^9?a*b:42

बहुत साधारण। एक मैक्रो फ़ंक्शन की घोषणा करता है fजो दो तर्क लेता है, aऔर b
अगर aहै 6और bहै 9, तो लौटें 42। अन्यथा aएक्स लौटें b

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


2
^इसके बजाय का उपयोग करें ==और तर्क को थोड़ा समायोजित करें: #define f(a,b)a^6||b^9?a*b:42- 2 बाइट्स बचाता है।
डिजिटल ट्रॉमा

@ डिजीटलत्रुमा चीयर्स: डी
एमडी एक्सएफ

1
मुझे लगता है कि आप एक और बाइट को बचाने के |बजाय उपयोग कर सकते हैं ||, क्योंकि यह अभी भी कम है^
संगीतकार 523

@ musicman523 धन्यवाद! संपादन।
एमडी एक्सएफ

1
साथ ही आप इन परिवर्तनों को लेने के लिए अपने shortC संस्करण को अद्यतन करना चाहिए
musicman523

17

जावास्क्रिप्ट (ईएस 6), 20 बाइट्स

x=>y=>x-6|y-9?x*y:42

व्याख्या:

Iff x == 6 और y == 9, x-6|y-90 (मिथ्या) होगा, और 42 परिणाम होगा।

स्निपेट:

f=

x=>y=>x-6|y-9?x*y:42

console.log(f(6)(9));
console.log(f(9)(6));


4
बहुत अच्छी तरह से किया; काश मैं इसके बारे में सोचता। +1
झबरा

14

पायथन 2 , 30 29 बाइट्स

एक बाइट को बचाने के लिए जोनाथन एलन को धन्यवाद !

lambda x,y:x*[y,7][6==x==y-3]

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


2
एक बाइट सहेजें तथ्य का उपयोग कर कि 6 * 7 है 42:lambda x,y:x*[y,7][6==x==y-3]
जोनाथन एलन

@JonathanAllan ओह, यह साफ है! धन्यवाद! :)
अदनान

यह समाधान Python 3
AMK

वास्तव में मुझे क्या मिला! यह आगे गोल्फ के लिए किसी भी तरह से खोजने के लिए प्रतीत नहीं कर सकते।
FlipTack

12

05AB1E , 15 11 9 बाइट्स

-4 बाइट्स @Emigna की बदौलत

-2 बाइट्स @ @ अदनान को धन्यवाद

P¹69SQi42

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

यह काम किस प्रकार करता है

P          # multiply input
 ¹         # push first number
  69       # the number 69
    S      # split per character
     Q     # equality for both inputs
       i42 # if so, print 42
           # otherwise print product

आप 4 बाइट्स बचा सकते हैं‚D96SQi42ëP
21

@Eigna हुह ... ,शुरुआत में क्यों ?
नील ए।

सूची के रूप में केवल एक बार तुलना करने के लिए 2 इनपुट की जोड़ी।
21

मुझे लगता है 6Qs9Q*कि उसी बाइट की गिनती के लिए भी काम किया होगा।
21

इनपुट प्रारूप बदलने से 2 बाइट्स P¹69SQi42
अदनान

10

जावा (ओपनजेडके 8) ,24 22 बाइट्स

-2 बाइट्स @ ओलिवियरग्रेगायर के लिए धन्यवाद

a->b->a==6&b==9?42:a*b

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


3
PPCG में आपका स्वागत है! मुझे जावा के बारे में अधिक जानकारी नहीं है, लेकिन क्या आप System.out.println()कॉल को हटा सकते हैं और केवल फ़ंक्शन को परिणाम वापस कर सकते हैं?
23

2
@ LưuV LnhPhúc जावा में नहीं, क्योंकि मुझे लिखना होगा (a^6|b^9)==0क्योंकि कोई निहित "0 से अधिक" तुलना नहीं है। परिणामी कोड स्निपेट 27 बाइट लंबा होगा। वैसे भी, सुझाव के लिए धन्यवाद, और कृपया मुझे बताएं कि क्या मुझे आपकी टिप गलत मिली।
बाशफुल बेलुगा

1
@ रिकर नोप, यह जावा में काम नहीं करता है। जैसे स्निपेट int a = 5; if (a) do_some_stuff(); else do_other_stuff();एक Type mismatch: cannot convert from int to booleanसंकलन त्रुटि देता है । उन्हें बूलियन मूल्यों के साथ स्पष्ट रूप से बनाया जाना चाहिए; SO और ORACLE को देखें ।
बाशफुल बेलुगा

3
आप एक बाइट को छोड़ने के लिए करी का उपयोग कर सकते हैं, और आप अर्धविराम से छुटकारा पा सकते हैं क्योंकि यह लैम्बडा का एक और बाइट को छोड़ने का हिस्सा नहीं है a->b->a==6&b==9?42:a*b:।
ओलिवियर ग्रेजायर

1
बस एक नोट क्यों 0 झूठ नहीं है। जावा सुरक्षित है इसलिए 0 एक पूर्णांक है, बूलियन नहीं है और असुरक्षित टाइपकास्टिंग की अनुमति नहीं है, ताकि आप गलत मूल्यों का उपयोग न कर सकें
मार्टिन बार्कर

6

रूबी, 24 बाइट्स

->a,b{a==6&&b==9?42:a*b}

a^6|b^9<1बूलियन के रूप में काम कर सकता है। मेरे स्मार्टफोन पर परीक्षण करना मुश्किल है।
एरिक डुमिनील

1
@EricDuminil दुर्भाग्य से, अभिव्यक्ति को इस तरह से पार्स किया जाता है (((a^6)|b)^9), अर्थात a.^(6).|(b).^(9), यह सही ढंग से काम नहीं करेगा। a-6|b-9==0काम करेगा, लेकिन वह छोटा नहीं है।
वेंटरो

@ वेंटरो: मैंने उस बारे में नहीं सोचा। धन्यवाद। a,b==6,9अच्छा होगा, लेकिन यह भी काम नहीं करता है।
एरिक डुमिनील

6

ब्रेन-फ्लैक , 158 154 148 140 138 126 बाइट्स

(({}<>)(((([()()()]<>)){})<({}{}({}))>{(()()()){}(<{}>)}{}))([()]{()(<{}>)}{})(({<{}>{}((<>))}{}){}<{}>{<({}[()])><>({})<>}{})

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

व्याख्या

यह कोड बहुत सरल है। हम स्टैक पर शीर्ष दो वस्तुओं की प्रतियां बनाते हैं, हम एक से 6 और दूसरे से 9 घटाते हैं। हम फिर notदो मूल्यों को लेते हैं। हम andउन मानों को 12 से परिणाम गुणा करते हैं। इनपुटों को गुणा करें और दो परिणामों को घटाएं।


2
आप अपने विवरण को पढ़ने के बजाय कैपिटलाइज़ करना चाहते हैं notऔर and(या उन्हें बैकटेक कर सकते हैं) ने मुझे उलझा दिया।
एमडी एक्सएफ

6

फैक्टरियो, 661 बाइट्स, 9 कनेक्शन वाले 6 कॉम्बिनेटर

ए और बी आउटपुट के लिए एक निरंतर कॉम्बीनेटर सेट है जो इनपुट सेट करने के लिए इन्हें बदलें।

ब्लूप्रिंट स्ट्रिंग (0.15.18):

0eNrNVm2O2jAQvcv8rEKFvSHLRuqPtrfYCkUhGWAkYkfOGDVCOUBv0bP1JLWTLQuB3U0QbfcPYvzxZt68eYr3sNxaLA0phngPlGlVQfxtDxWtVbr1a1yXCDEQYwEBqLTwUY4Z5WgmmS6WpFLWBpoASOX4HWLRBG8C+EScKr6MIJtFAKiYmLCrpw3qRNliicaleK2SAEpduata+fQObiI+zgKo/R+XIyeDWbcrA18IG71NlrhJd+RuuytPmInby1ucyq+uyFScnPHakWHrVg4VdScmnz2fPzQhjnxQlKlpS4zhk7ugLZd2BCTu0NS8IbXusMvalWgVJyuji4SUA4OYjcWmS606nm31wv8YzI+7SS66axbusHxh1zeITGaJ21C4w41XtyeHHCXH9D+o8eVUjYd3qoY47bc86rWPo158/yze2iCqPtxsmHx3r9ry3E6ylU9cTUv0aITDygwPZaaGeFMgUzbM99NBg/aMegPnV+gxRg6oLtFNZFsjfLhiJB+huZn1B87O7Crr/0Pnfz11vug5/9ePn+/E+2Hf++4beNHV8uzgRWWica6ejnDKiraM5oWXwhtC2CcVDo+FxfAWDfwc3Y9jLv4288cj5qG8IXU3Ie2zKj56xgXgZrNqOURhKGfR/GE6nzfNb7OMaxo=

आउटपुट सिग्नल Z है और इसे ऊपर और नीचे के डाइडर्स से लिया जाना है।

स्क्रीनशॉट


waaa ... पहली बार मैंने कभी ppcg xD में एक फैक्टरियो उत्तर देखा
वी।


6

जेली , 8 7 बाइट्स

Vf96SạP

इनपुट दो पूर्णांकों की एक सरणी के रूप में है: पहले दायां ऑपरेंड, फिर बाएं वाला।

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

यह काम किस प्रकार करता है

Vf96SạP  Main link. Argument: [b, a]

V        Cast [b, a] to string, then eval the resulting string.
         For [b, a] = [9, 6], this yields 96.
 f96     Filter with 96, yielding [96] if V returned 96, [] otherwise.
    S    Take the sum, yielding either 96 or 0.
      P  Compute the product of [b, a], yielding ba = ab.
     ạ   Compute the absolute difference of the results to both sides.
         When the sum is 0, this simply yields the product.
         However, when [b, a] = [9, 6], this yields 96 - 54 = 42.

इसमें -1 डिग्री की स्वतंत्रता है। ये संयोग आपके साथ भी कैसे होते हैं?
lirtosiast

5

फैक्टरियो, 581 बाइट्स, 4 कनेक्शन के साथ 3 कॉम्बिनेटर

ब्लूप्रिंट स्ट्रिंग (0.16.36):

0eNqllNtu4jAQht9lLldmldNCFWkvto/RCkUhGWAkYkfOGDVCefeOnV1Km7ACemPJ9vibf04+webgsLWkGfITUGV0B/nrCTra6fLgz7hvEXIgxgYU6LLxO2/HpeZFZZoN6ZKNhUEB6RrfII+HtQLUTEw44sKmL7RrNmjF4AyqsaIa7SVHQWs6eWq0dy+46OcvBT3ki1hc1GSxGi8T5XWwNYdig/vySPJYXvxFFnJXB0znT7dkOy4mYR3JspOTs6DRYoFHtD3vSe98XP/CFZ9xtsqe0mW29KdNW9qgOYffgjCOW3eHk+eR3fai1WkuttY0BWlhQM7W4TC61mPAIYzYLxbry6yS7FKxJFs54rANFdhZRP3VMBnWQk08ZvZ+ChpExqSCyX9bYVLCRfxRwbmabenAaK+03rX0/RnT5z7VJbroQnUH7HkGlq7OsDFtc8WYzWJ8WxbTs4rSEu8bZKpuGoXopkn4gH5vGEKiO/SMO5vbtCgDEjTCjwcm5AWGO4ZgknX16Tq7OhRfHiZXypU91PTRd6ZYdIjo8PnmF3+1AvmfuuBq+bRKYmnWKM2G4R1hAPnz

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

यहाँ छवि विवरण दर्ज करें

Top left: 2147483640 A, 2147483637 B
Top right: If everything = 2147483646 output B, input count
Bottom left: (input) A, (input) B
Bottom right: A * B -> Z


4

जीडब्ल्यू-बेसिक , 55 बाइट्स

1INPUT A:INPUT B
2IF A=6THEN IF B=9THEN ?"42":END
3?A*B

आउटपुट:

उत्पादन

Pcjs की पहली मशीन में IBM BASIC है, जो व्यावहारिक रूप से एक ही चीज है। यह परीक्षण करने के लिए, वहां पर सिर, Runमशीन पर मारा , प्रेस Enter- Enterऔर BASICAबुनियादी मोड में आने के लिए टाइप करें। फिर स्रोत कोड दर्ज करें (यह आपके लिए स्वचालित रूप से पूर्व-निर्धारित करेगा), टाइप करें RUN, दो पूर्णांक इनपुट करें, और किया!


3
क्या आप सुनिश्चित हैं कि बायटेकाउंट सही है? GW-BASIC एक एन्कोडिंग का उपयोग करता है, जिसमें कुछ शब्द, जैसे INPUT, कम बाइट्स में वर्णों की तुलना में एन्कोडेड होते हैं जो उन्हें बनाते हैं। इसलिए गिनती मुझे ऊंची लगती है।

@ ais523 ठीक है, मैंने इसे माध्यम से चलाया wc, और मुझे 55 मिल गए ... कॉपी-कॉपी मेरे एमुलेटर में चला गया और इसमें अपेक्षित व्यवहार था।
एमडी एक्सएफ

3
ठीक है, मेरा कहना यह है कि आप शायद अपनी सबमिशन को अधिक से अधिक जमा कर रहे हैं। फ़ाइल को बचाने के लिए GW-BASIC प्राप्त करें, और फिर डिस्क पर परिणामी फ़ाइल का आकार देखें; यह छोटा होना चाहिए।

@ ais523 इस रूप में सहेजा गया है OUT.BAS: i.stack.imgur.com/32eH1.png Bytecount मध्य मान है।
एमडी एक्सएफ

ठीक है, मैं यह उम्मीद नहीं कर रहा था, लेकिन मुझे लगता है कि यह इस स्थिति में एक धोने है। (या शायद एक से अधिक सहेजें प्रारूप हैं?)


4

जाँच करें , 34 33 बाइट्स

.:+&>#v
#>42#v#9-!\>6-!*?
 d* ##p

चेक मेरा नया एसोलैंग है। यह 2D और 1D शब्दार्थ के संयोजन का उपयोग करता है।

इनपुट दो नंबर है जो कमांड लाइन तर्कों के माध्यम से पारित किया गया है।

व्याख्या

स्टैक उस पर कमांड लाइन तर्क के साथ शुरू होता है। चलो तर्कों को बुलाते हैं aऔर b

पहला भाग, .:+&अनिवार्य रूप से स्टैक को डुप्लिकेट करता है, इसे छोड़कर a, b, a, b>स्टैक के लिए 0 को धकेलता है (यह एक सांख्यिक शाब्दिक भाग द्वारा पूरा होता है 9)।

#2 डी शब्दार्थ के लिए स्विच, और vआईपी ​​को नीचे की ओर पुनर्निर्देशित करता है। आईपी ​​तुरंत एक में चलता है #, जो फिर से 1 डी शब्दार्थ में बदल जाता है।

9-!जाँच करता है कि क्या b9 के बराबर है (9 को घटाकर और तार्किक नहीं ले रहा है)। \>6-!तो जांच करता है कि a6 के बराबर ढेर अब होता है a, b, 1, 1यदि और केवल यदि b==9और a==6। साथ गुणा *तार्किक और इन दो मानों की लेता है, दे रही a, b, 1है, तो आदानों थे 6और 9, और a, b, 0नहीं तो।

इसके बाद, आईपी एक में चलता है ?। यह 2 डी मोड पर स्विच करेगा यदि शीर्ष स्टैक मान नॉनजरो है, और अन्यथा 1 डी मोड में जारी रहेगा।

यदि शीर्ष स्टैक मान था 1, तो इसका मतलब है कि अन्य स्टैक मान हैं 6और 9, इसलिए हम स्टैक के साथ 42 को धक्का देते हैं >42और फिर #अंतिम पंक्ति पर दूसरे पर जाते हैं।

यदि शीर्ष स्टैक मान था 0, तो निष्पादन अगली पंक्ति में नीचे चला जाता है। dहटाता है 0(जैसा कि ?ऐसा नहीं करता है), और फिर हम दो इनपुटों को गुणा करते हैं *##स्विच में और 2 डी मोड से बाहर, कुछ नहीं कर रहे।

शाखाएं अब फिर से जुड़ गई हैं। स्टैक में या तो शामिल है 6, 9, 1, 42, या a*bpशीर्ष स्टैक मान प्रिंट करता है और फिर प्रोग्राम समाप्त होता है, बाकी स्टैक को त्याग देता है।


यह एक निफ्टी भाषा की तरह दिखता है!
पेड़


3

पायथन 3 , 36 33 बाइट्स

lambda x,y:42if x==6==y-3else x*y

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


1
वैकल्पिक संस्करण, समान आकार lambda x:x[0]*x[1]if x!=(6,9)else 42:। केवल अंतर इनपुट प्रकार है।
संगीतज्ञ ५२३

कोई बात नहीं - आपका संपादित संस्करण छोटा है :)
musicman523

आपके द्वारा पोस्ट किया गया कोड वास्तव में काम नहीं करता है, इसलिए मैंने इसे TIO पर काम करने वाले संस्करण पर स्विच कर दिया है जिसे आपने लिंक किया था।
ETHproductions

यह मेरे लिए काम करता है: [१] में: f = lambda x, y: ४२ आईएफ ६ == x == y-३else x * y इन [२]: f (६ ९९) आउट [२]: ४२ इन [३ ]: f (९ ६) आउट [३]: ५४ @ETHproductions
मार्टमिस्ट्स

@Martmists आप तब एक स्थान याद कर रहे थे, क्योंकि आपका कोड थाf=lambda x,y:42if6==x==y-3else x*y
ETHproductions

3

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

×-12×6 9≡,

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

× उत्पाद (तर्कों का)

- ऋण

12× बारह बार

6 9≡ चाहे (6,9) के समान हो

, सहमति (तर्कों की)


अरे वाह, मैंने इसे देखा और मेरा J उत्तर बिल्कुल इसी तरह है: / एक बाइट को छोड़कर
Conor O'Brien

@ ConorO'Brien समझ में आता है। J और tacit APL ज्यादातर समान हैं, J के मल्टी-चार प्राइमेटिव्स के लिए सेव करें (और एक अंतिम टॉप के लिए कैप की जरूरत है)।
आदम

3

आर, 41 मुझे लगता है कि मुझे नहीं पता कि मैं बाइट्स कैसे गिनता हूं मैं नया हूं: डी

function(a,b){

if(a==6&b==9){42} else {a*b}

}

मैं एक ऐसे फ़ंक्शंस को परिभाषित करता हूं जिसके तर्क इस क्रम में ए और बी हैं । यदि 6 के बराबर होता है और 9 के बराबर होता है, तो यह 42 के बराबर होता है, अन्यथा, एक बार बी


साइट पर आपका स्वागत है! :)
DJMcMayhem

स्वागत हे। इस बात का ध्यान रखें कि नई रेखाएँ और स्थान भी गिनें। आपके मामले में, यदि आप नई
लाइनों

1
आप का उपयोग करके दो बाइट्स में कटौती कर सकते हैंifelse(a==6&b==9,42,a*b)
Masclins

आप 33 बाइट्स के रूप में नीचे पूरी बात काट सकते हैं function(a,b)`if`(a-6|b-9,a*b,42)
rturnbull

आपके द्वारा अनावश्यक व्हाट्सएप को हटाने के बाद यह केवल 41 बाइट्स है, एकतरफा, यह 47 बाइट्स है।
पावेल

3

एसपीएल , 356 बाइट्स

a.Ajax,.Puck,.Act I:.Scene I:.[Enter Ajax and Puck]Ajax:Listen to your heart!Puck:Listen to your heart!Are you as big as the sum of a big big big cat and a cat?If so, am I as big as the sum of a big big cat and a big cat?If so, you are as big as the product of I and the sum of I and a cat.If not, you are as big as the product of you and I.Open your heart

नई जगहों और स्थानों के साथ:

a.                       *Title*
Ajax,.                   *Declare variable Ajax*
Puck,.                   *Declare variable Puck*
Act I:.
Scene I:.
[Enter Ajax and Puck]
Ajax: Listen to your heart!                  *Set Puck's value to user input*
Puck: Listen to your heart!                  *Set Ajax's value to user input*
      Are you as big as the sum of a big 
       big big cat and a cat?                *Is Ajax=9?* 
      If so, am I as big as the sum of a 
       big big cat and a big cat?            *Is Puck=6?* 
      If so, you are as big as the product 
       of I and the sum of I and a cat.      *If so, set Ajax=42* 
      If not, you are as big as the product 
       of you and I.                         *If not set Ajax=(Ajax)(Puck)*
      Open your heart                        *Print Ajax's value*


3

मानक एमएल (एमएलटन) , 22 20 बाइट्स

2 बाइट @Laikoni के लिए धन्यवाद बचा लिया!

fun$6 $9=42| $x y=x*y

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

यह इस तरह की चीज है, जिसके लिए एसएमएल का मतलब है, यही वजह है कि यह शॉर्टसी और पायथन को हराता है।

पुराने संस्करण बहुत अच्छे लग रहे थे। : पी



@ लिकोनी वाह, मुझे नहीं पता था कि आप $एक पहचानकर्ता के रूप में उपयोग कर सकते हैं ! यदि आप |और के बीच की जगह को हटाते हैं तो यह संकलन क्यों नहीं है $?
संगीतज्ञ ५२३

SML अल्फ़ान्यूमेरिक और प्रतीकात्मक पहचानकर्ताओं को अलग करता है , जो कि गोल्फ के लिए काफी उपयोगी हो सकता है। |$एकल प्रतीकात्मक पहचानकर्ता के रूप में पार्स किया जाता है, इसलिए सब कुछ टूट जाता है। मेरी योजना जल्द ही SML के लिए एक टिप्स प्रश्न लिखने की है और उन दो प्रकार के पहचानकर्ताओं के बारे में एक उत्तर जोड़ना है।
लाकोनी



2

जेली , 10 बाइट्स

⁼6,9ȧ42ȯ⁸P

दो नंबरों की एक सूची लेने वाला एक विचित्र लिंक।

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

कैसे?

⁼6,9ȧ42ȯ⁸P - Link: list of numbers [a,b]
 6,9       - 6 paired with 9, [6,9]
⁼          - equals? (non-vectorising) (1 or 0)
     42    - literal answer, 42
    ȧ      - logical and               (42 or 0)
        ⁸  - link's left argument, [a,b]
       ȯ   - logical or                (42 or [a,b])
         P - product                   (42 or a*b)

आप बस इस्तेमाल कर सकते थे ?, जैसे मैंने किया। ;)
आउटगोल्फ

आह क्योंकि इसमें ,विशेष है कि यह शाब्दिक रेगेक्स पैटर्न का हिस्सा है, इसलिए 6,9इसे एकल टोकन के रूप में रखा गया है और त्वरित $इसे साथ जोड़ सकता है । क्या आपने इसका कारण बताया, या बस इसे आज़माएं और ध्यान दें कि यह काम किया है?
जोनाथन एलन

1
मैंने तर्क दिया कि
आउटगोल्फर


2

एसआईओएस , 81 67 बाइट्स

readIO
J=i
readIO
a=(J-6)^2+(i-9)^2
a/a
a-1
a*12
x=J*i+a
printInt x

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

कुछ मायने में इसके अलावा एसआईएलओएस में एक दिलचस्प नंद द्वार के रूप में कार्य करता है।

-14 बाइट्स @ थैंक्स नन को धन्यवाद

अनिवार्य रूप से हम एक संख्या "a" बनाते हैं जो 0 (मिथ्या) है अगर j 6 और i = 9 है, तो हम इसे अपने आप से विभाजित करते हैं और अपने उत्पाद में जोड़ने के लिए इसे 12 से गुणा करते हैं।

यदि "a" एक को घटाने और गुणा करने के बाद 1 था, तो यह एक नो-ऑप बन जाता है, हालाँकि उस स्थिति में जहाँ a, 0, 0/0 चुपचाप एक त्रुटि फेंकता है (जो स्वतः-जादुई रूप से पकड़ा गया) 0 हो जाता है, और फिर बन जाता है -1 और हम अपने उत्पाद से 12 घटाते हैं।




@LeakyNun ओह, यह चतुर है।
रोहन झुनझुनवाला

असल में, 0/0बन जाता है 0
लीक नून

@ LeakyNun मेरा कहने का मतलब 0 हो गया, और फिर डिक्रिप्ट हो गया। फिक्सिंग।
रोहन झुनझुनवाला


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.