जिज्ञासा नें बिल्ली को मार डाला?


20

कुछ लोगों का कहना है कि जिज्ञासा ने बिल्ली को मार डाला। अन्य कहते हैं कि यह बॉक्स और जहर था। RSPCA का कहना है कि इरविन श्रोडिंगर को अपने पालतू जानवरों के अधिकार को खोने की जरूरत है।

अपने घर के बाहर पशु अधिकार कार्यकर्ताओं के साथ। बिल्ली कातिल वैज्ञानिक Schrödinger अंत में उनकी सबसे बड़ी आविष्कार के साथ आ गया है। एक विशेष, रेडियोधर्मी मिश्रण विनीतियम और हैंडवियम का, जिसका कोई भी आधा जीवन हो सकता है, और उत्पाद का एक ग्राम किसी भी जीवित प्राणी को मारने में सक्षम है। दुर्भाग्य से, जब उन्होंने अपनी अंतिम बिल्ली: बॉब पर इसका परीक्षण करने की कोशिश की, तो वे भूल गए कि बिल्लियों के पास 9 जीवन हैं, और इसलिए उन्हें मारने के लिए 9 ग्राम की आवश्यकता होगी। कुछ पानी के साथ लेकिन कोई भोजन नहीं होने के कारण, गरीब बॉब ठीक 1 सप्ताह (7 दिन) जीवित रहेगा यदि उत्पाद उसे पहले नहीं मारता है।

कार्य: मिलीग्राम में एक द्रव्यमान के एक इनपुट और मिलीसेकंड में एक आधे-जीवन को देखते हुए - दोनों पूर्णांक जो 2 ^ 31 से अधिक हो सकते हैं, एक प्रोग्राम लिखें जो आउटपुट करता है कि क्या रहस्य सुपर उत्पाद बिल्ली को मारता है, या यदि 1 सप्ताह का समय है सीमा पहले समाप्त हो रही है। सच मानें / हाँ / 1 / उत्तर में निर्दिष्ट कुछ भी है जब वह भुखमरी से नहीं मरता है।

उत्पाद को मारने के लिए, कुल 9 ग्राम का क्षय करना चाहिए। तो 18 ग्राम के नमूने में से, 1 आधा जीवन पारित करना होगा। यदि नमूने में 9 ग्राम से कम या बराबर है, तो यह कभी भी प्राप्त नहीं होगा, और इसलिए यह तुरंत माना जा सकता है कि 1 सप्ताह 9 ग्राम के पतन से पहले गुजर जाएगा।

आप मान सकते हैं:

  • बॉब मर जाता है माइक्रोसेकंड 9 ग्राम सड़ गया है।
  • क्षय के कारण परिवर्तन बड़े पैमाने पर होता है।
  • सभी दिन और समय आम तौर पर स्वीकृत पृथ्वी समय का अनुसरण करते हैं।
  • बॉक्स को सील किया गया है अटूट और अनपेक्षित है, इसलिए अन्य कारणों से मृत्यु की कोई संभावना नहीं है।
  • ऑक्सीजन भी कोई समस्या नहीं है।
  • यदि दोनों एक ही समय में होते हैं तो या तो आउटपुट स्वीकार्य है।
  • सभी इनपुट 2 ^ 63-1 से नीचे होने चाहिए

परीक्षण के मामलों:

उदाहरण:

18000 604800001

9 ग्राम सड़ने के लिए, ठीक 1 आधा जीवन गुजरना चाहिए (18000/2 = 9000 मिलीग्राम या 9 ग्राम)। 1 आधा जीवन 604800001 मिलीसेकंड, या 168 घंटे और 1 मिलीसेकंड, या बिल्कुल 1 सप्ताह और 1 मिलीसेकंड है। चूंकि बॉब ठीक 1 सप्ताह में भूख से मर जाता है, इसलिए आउटपुट झूठा है क्योंकि वह 9 ग्राम उत्पाद सीमा तक पहुंचने से ठीक पहले भूख से मर गया था

8000 40000 false

70000 800 true

18000 604800000 either

18000 604800001 false

18000 604799999 true

1 1 false

100000 1 true

1000000000 1000000000 true

स्कोरिंग: स्वाभाविक रूप से हम चाहते हैं कि बॉब की पीड़ा जल्दी से समाप्त हो, और इसलिए छोटा आधा जीवन सबसे अच्छा है। आधा जीवन और बाइट दोनों ई में समाप्त होते हैं, इसलिए स्पष्ट रूप से सबसे छोटी बाइट गिनती जीत जाती है।


6
आप महसूस करते हैं कि एक रेडियोधर्मी पदार्थ कभी पूरी तरह से सड़ता नहीं है
रोहन झुनझुनवाला

1
मुझे पता नहीं है कि हमें यहां क्या करना है ... क्या आप यह पता लगाने के लिए प्रत्येक चरण से गुजर सकते हैं कि क्या आउटपुट होना चाहिए trueया false?
बीटा क्षय

नमस्ते और PPCG में आपका स्वागत है! जैसा कि अन्य लोगों ने कहा है, यह थोड़ा और अधिक स्पष्टीकरण का उपयोग कर सकता है। यदि आप ऊपर उठाए गए बिंदुओं को संबोधित करते हैं, तो मुझे लगता है कि यह एक बड़ी चुनौती हो सकती है, और यह फिर से खुल जाएगी। भविष्य के संदर्भ के लिए, हमारे पास एक सैंडबॉक्स उपलब्ध है ताकि लेखकों को मुख्य साइट पर पोस्ट करने से पहले चुनौतियों पर प्रतिक्रिया मिल सके।
AdmBorkBork

3
क्या आप हमें एक समीकरण दे सकते हैं जिसके लिए आउटपुट ट्रू दे?
xnor

1
@xnor आधे-जीवन λऔर द्रव्यमान के लिए m, m-m*(1/2)**(604800000/λ) > 9000(या , चूंकि किनारे का मामला किसी भी तरह से जा सकता है)।
मेगो

जवाबों:


9

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

lambda a,b:a-a*.5**(6048e5/b)>9e3

स्पष्टीकरण:

         6048e5         # number of milliseconds in 1 week
               /b       # half-lifes per week
  a*.5**(        )      # mgs of substance remaining after 1 week
a-                      # mgs of substance decayed after one week
                  >9e3  # return true if more than 9000mgs has decayed in 1 week

यहाँ कोशिश करो


इसके अलावा 33 बाइट्स:lambda a,b:2**(-6048e5/b)+9e3/a<1
डैनियल

5

CJam (22 बाइट्स)

q~dX.5@6048e5\/#-*9e3>

ऑनलाइन डेमो

विच्छेदन

गणित की एक त्वरित व्याख्या: यदि अर्धजीवन λसमय tके बाद है तो रेडियोधर्मी सामग्री (1/2)^(t/λ)का अनुपात शेष है , इसलिए अनुपात क्षय है 1 - (1/2)^(t/λ)

q~d         e# Parse input, ensuring that the later division will use doubles
X.5@6048e5\ e# Rearrange stack to: m 1 0.5 6048e5 λ
/#-*        e# Div, pow, sub, mul, giving the total mass decayed after a week
9e3>        e# Is it OVER 9000! ?

5

फूरियर, 51 बाइट्स

मुझे यह स्वीकार करना होगा कि मैं इस कार्यक्रम को पूरी तरह से नहीं समझता ... मुख्य रूप से TheNumberOne के पायथन कोड का सिर्फ अनुवाद है।

oI~M~NI~H604800000~G>H{1}{G/H^(M/2~Mi^~i)N-M>9000@o}

ध्यान दें कि यह पहला प्रोग्राम है जो मैंने PPCG के लिए लिखा है जो @स्पष्ट आउटपुट फ़ंक्शन का उपयोग करता है।

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


4
फिटिंग उपयोगकर्ता नाम ...
ojdo

@ोजो हाहा हाँ: डी
बीटा

4

दरअसल, 20 बाइट्स

5╤:6048*/1½ⁿ1-*93╤*<

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

स्पष्टीकरण:

5╤:6048*/1½ⁿ1-*93╤*<
5╤                    10**5
  :6048               6048
       *              6048*10**5 (milliseconds in 1 week)
        /             divide by half-life
         1½ⁿ          (1/2)**(^)
            1-        1-(^) (% of sample decayed after 1 week)
              *       multiply by sample mass (mass decayed after 1 week)
               93╤*   9*10**3 (9000)
                   <  is 9000 < sample mass decayed?

3

दिल्लोग एपीएल , 19 बाइट्स

9E3≤⊣-⊣×.5*6048E5÷⊢

9E3≤ 9000 से छोटा या इसके बराबर है

⊣- बाएं तर्क (द्रव्यमान) घटा

⊣× बाएं तर्क समय

.5*  की शक्ति के लिए of

6048E5÷⊢ 604800000 सही तर्क (आधा जीवन) से विभाजित

कोष्ठक की कोई आवश्यकता नहीं है, क्योंकि एपीएल सख्ती से दाएं-बाएं है।

TryAPL ऑनलाइन!


1
19 बाइट्स। यह शैतानी है।
सी। टिवाल्ट

@matrixugly इस मामले में, मैं पूछता हूँ कि अन्य भाषाओं में इतनी अधिक फ़्लफ़ क्यों है। मेरे पास बिल्कुल सामान्य-दिखने वाले इनफ़िक्स (जैसे गणित) संकेतन में "वर्ण" प्रति एक चरित्र है।
13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.