मुझे दुनिया को नष्ट करने की क्या आवश्यकता है?


19

किसी ग्रह की गुरुत्वाकर्षण बंधनकारी ऊर्जा उसके प्रत्येक छोटे टुकड़े को अलग करने के लिए आवश्यक ऊर्जा की मात्रा होती है ताकि कोई टुकड़ा किसी दूसरे टुकड़े से परिक्रमा या टकराए नहीं। एक समान क्षेत्र के लिए, विकिपीडिया यह सूत्र देता है:

E=3GM25R

जहां जी गुरुत्वाकर्षण स्थिरांक है (6.672e-11 m 3 • kg -1 • s -2 ), M द्रव्यमान है, और R त्रिज्या है।

मैं इस चुनौती को केवल जूल (किलो • मी 2 • एस -2 ) में गणना करने के बारे में बता सकता हूं , लेकिन यह उबाऊ होगा । और इसके अलावा, हर कोई जूल को नहीं समझता है।

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

  • टीएनटी के किलोटन (4.184 ट्रिलियन जूल, आशुलिपि kilotons)
  • हिरोशिमा परमाणु हथियार (62.76 ट्रिलियन जूल, आशुलिपि nukes)
  • परिचारिका ™ ट्विंकस (560,000 जूल, आशुलिपि twinkies)
  • किलोवाट-घंटे (वास्तव में 3.6 मिलियन जूल, आशुलिपि kWh)
  • जन-ऊर्जा के किलोग्राम (1 किलो द्रव्यमान-ऊर्जा = 299,792,458 2 जूल, आशुलिपि kg)

तो, निम्नलिखित इनपुट में ले:

  • किलोग्राम में द्रव्यमान
  • मीटर में त्रिज्या
  • उपयोग करने के लिए इकाई का प्रतिनिधित्व करने वाले छह अलग-अलग इनपुटों में से एक

और निर्दिष्ट इकाइयों में बाध्यकारी ऊर्जा का उत्पादन करता है। आउटपुट के अंत में आशुलिपि इकाई को जोड़ें।

नियम

  • जूल के लिए आशुलिपि है J
  • जब तक यह शॉर्टहैंड यूनिट या संख्या को विभाजित नहीं करता, तब तक व्हाट्सएप को अनुमति दी जाती है।
  • वैज्ञानिक संकेतन की अनुमति है, जो भी प्रारूप में आपकी भाषा का उपयोग करता है।
  • आपको केवल 4 महत्वपूर्ण आंकड़े चाहिए। फ्लोटिंग पॉइंट अत्यधिक अनुशंसित हैं।
  • बाइट्स में ब्ला ब्ला ब्ला का सबसे छोटा जवाब।

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

इस स्प्रेडशीट के साथ उत्पन्न ।

Mass (kg)   Radius (m)  J           kilotons    nukes       twinkies    kWh         kg
3.302E+23   2440000     1.789E+30   4.275E+17   2.850E+16   3.194E+24   4.969E+23   1.990E+13
4.869E+24   6052000     1.568E+32   3.748E+19   2.499E+18   2.800E+26   4.356E+25   1.745E+15
5.974E+24   6371000     2.242E+32   5.360E+19   3.573E+18   4.004E+26   6.229E+25   2.495E+15
6.419E+23   3390000     4.866E+30   1.163E+18   7.753E+16   8.689E+24   1.352E+24   5.414E+13
1.899E+27   69911000    2.065E+36   4.935E+23   3.290E+22   3.687E+30   5.736E+29   2.298E+19
5.685E+26   58232000    2.222E+35   5.310E+22   3.540E+21   3.968E+29   6.172E+28   2.472E+18
8.683E+25   25360000    1.190E+34   2.845E+21   1.896E+20   2.125E+28   3.306E+27   1.324E+17
1.024E+26   24620000    1.705E+34   4.075E+21   2.717E+20   3.045E+28   4.736E+27   1.897E+17
1.311E+22   1186000     5.801E+27   1.387E+15   9.244E+13   1.036E+22   1.611E+21   6.455E+10
1.989E+30   696300000   2.274E+41   5.436E+28   3.624E+27   4.062E+35   6.318E+34   2.531E+24
7.350E+22   1737000     1.245E+29   2.976E+16   1.984E+15   2.223E+23   3.458E+22   1.385E+12

स्कॉट मैनले द्वारा ट्विंकिज़ के साथ डेथ स्टार को पावरिंग से प्रेरित किया गया।


"डिफ़ॉल्ट टू जूल" से आपका क्या अभिप्राय है? क्या इसका मतलब यह है कि आउटपुट यूनिट हमेशा इनपुट में नहीं दी जाएगी?
हाइपरएन्यूट्रीनो

8
इसके अलावा, मैं प्यार करता हूँ कि वास्तव में किसी चीज़ को पूरी तरह से नष्ट करने के लिए आवश्यक ऊर्जा की मात्रा के लिए एक नाम क्या है: पी
हाइपरन्यूट्रीनो 27'17

हम 6 अलग इनपुट के रूप में आउटपुट यूनिट ले सकते हैं? अन्यथा यह एक बोझिल I / O प्रारूप है और वे हतोत्साहित हैं
HyperNeutrino

@ हैपरनेट्रिनो यकीन है, लेकिन आपको आउटपुट में शॉर्टहैंड की जरूरत है।
निसा

2
@StephenLeppik " यूनिट का उपयोग करने के लिए प्रतिनिधित्व करने वाले छह अलग-अलग इनपुटों में से एक " - क्या उन अलग-अलग इनपुट्स 4.184, 62.76, आदि हो सकते हैं?
NGN

जवाबों:


6

05AB1E , 56 54 बाइट्स

के रूप में इनपुट लेता है unit, radius, mass

6n56•G*•x619+•Oć•4°z)•1¡‡•S°*"Wwigu"I1èkè*2498T>°P/*¹J

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

बची हुई 2 बाइट्स को एग्रीकल्चर (बेस 255 एनकोड 4184और 6276) के एरिक के लिए धन्यवाद ।


16

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

3 अलग-अलग चर के रूप में इनपुट लेता है (mass, radius, unit)

(m,r,u)=>m*m/r/[8987e9,56,6276e6,,4184e5,1e-4,360][parseInt(u,30)%7]/2498e11+u

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

निम्नलिखित स्निपेट प्रदान की गई स्प्रेडशीट में सभी परीक्षण मामलों को चलाता है।

कैसे?

यह @ ColeraSu के C उत्तर से काफी मिलता- जुलता है , जिसमें JS-friendly हैश फ़ंक्शन है जो पूरी यूनिट स्ट्रिंग पर काम करता है।

Unit       | Parsed as (*) | Base-30 -> Dec. | mod 7
-----------+---------------+-----------------+------
"J"        | "j"           | 19              | 5        (*):
"kilotons" | "kilotons"    | 451052545318    | 4          Because we're parsing as Base-30,
"nukes"    | "n"           | 23              | 2          characters [u-z] (and anything
"twinkies" | "t"           | 29              | 1          after them) are simply ignored.
"kWh"      | "k"           | 20              | 6
"kg"       | "kg"          | 616             | 0

7

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

²×⁽LÐ÷ȷ14÷⁴÷5÷⁵ị“¤Fðẏẏż“?A⁺ẏẏż“¬ŀż“8Ƙż“¡uþ³⁾ẉṿÆ“¡’¤;⁵ị“ÞṠlT“¡ṁæ-“;ØḲ“ȧ¹“ṫD“}»¤

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

स्ट्रिंग्स के साथ करने के लिए सामान वास्तव में जेली का प्रकार नहीं है ...

-7 बाइट्स उपयोगकर्ता 202029 के लिए धन्यवाद (मेरी मदद करने के लिए धन्यवाद जावास्क्रिप्ट द्वारा पीटा नहीं गया: डी)


हाँ, अब आप JS के साथ बंधे हैं और अभी भी शीर्ष पर नहीं हैं।
निसा

@StephenLeppik कम से कम मुझे पीटा नहीं जा रहा है: D और shush 05AB1E स्वाभाविक रूप से स्ट्रिंग चुनौतियों पर बेहतर है: P
HyperNeutrino

6

सी, 113 बाइट्स

दूसरा चरित्र हैश, अनुगामी का उपयोग कर '\0'की "J"। C में इनलाइन एरे का उपयोग किया जाता है।

ध्यान दें कि हमें दूसरा Mअंतिम गुणा करने की आवश्यकता है , या यह अतिप्रवाह करेगा inf

f(m,r,c)float m,r;char*c;{printf("%e%s",m/r/(float[]){1e-4,360,6276e6,8987e9,56,4184e5}[c[1]%36%7]/2498e11*m,c);}

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


+1। यकीन नहीं तो हो सकता है, लेकिन f (m, r, char * c) फ्लोट m, r {…} कुछ बाइट्स को बचाएगा। इसके अलावा,
प्रिंटफ के

@xanoetux आप किस कंपाइलर का उपयोग करते हैं? दोनों हालांकि मेरी मशीन पर काम नहीं करते हैं।
कोलेरा सु

मैं जीसीसी का उपयोग कर रहा हूं। निष्कलंक, लेकिन मैं आखिरी अर्धविराम के बारे में निश्चित हूं। (बाद में परीक्षण करेंगे)
xanoetux

4

एपीएल (डायलॉग यूनिकोड) , 153 71 69 बाइट्स

op←{⍺,⍨40032E¯15÷÷/8987E13 36E5 6276E10 56E4 4184E9 1['gWuw '⍳⊃1↓⍺]⍵⍺⍺⍵}

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

इस एक में मेरे पुराने जवाब को कुचलने के लिए @ Adám को धन्यवाद। 2 बाइट्स के लिए @ngn को धन्यवाद।

यह 'फंक्शन' वास्तव में ऑपरेटर कहलाता है op। माप इकाइयों के लिए सभी मूल्य वैज्ञानिक संकेतन में परिवर्तित हो गए।

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

{⍺,⍨40032E¯15÷÷/8987E13 36E5 6276E10 56E4 4184E9 1['gWuw '⍳⊃1↓⍺]⍵⍺⍺⍵}
                                                             1↓⍺          take the measurement unit without the first letter (because it is ambiguous)
                                                                         picks the first element returned by 
                                                                         Dyadic ota, which finds the index of
                                                  'gWuw '                 each of these characters
                                                 [             ]          square brackets indicate the index
               8987E13 36E5 6276E10 56E4 4184E9 1                         of the element of this vector (1-indexed) which will be used as the divisor for
            ÷/                                                  ⍵⍺⍺⍵      dividing by the left operand (⍺⍺) and the right argument squared.
    40032E¯15÷                                                            then divide this number by the result
 ⍺,⍨                                                                      and append the measurement unit

3

पायथन 3, 112 106 108 101 बाइट्स

lambda m,r,u:str(40032e-19*m*m/r/{'':1e-4,'i':4184e5,'u':6276e6,'w':56,'W':360,'g':8987e9}[u[1:2]])+u

बहुत सीधा। पायथन eसंकेतन का उपयोग करता है। दूसरे अक्षर के आधार पर इकाई को अलग करता है और एक संक्षिप्तीकरण मूल्य के आधार पर विभाजित करता है। u[1:2]मूल रूप से u[1], उम्मीद है कि यह ''एक त्रुटि के बजाय वापस आ जाएगी (जो मैंने केवल अब सीखा है)। फिर कुछ सरलीकरण के साथ सूत्र लागू होता है।

संपादित करें: पूरी तरह से अमानवीय के लिए 106 के लिए नीचे, नए nukes मूल्य की वजह से वापस 108 और कोलेरा र के लिए 101 धन्यवाद करने के लिए नीचे।

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


3

एक्सेल (कार्यालय 365), 106 101 97 बाइट्स

मान लिया जाए कि कोशिका A1द्रव्यमान है,A2 त्रिज्या है, और B1इकाई है, जिसे आउटपुट के लिए शॉर्टहैंड के रूप में लिखा जाता है।

=40032E-19*A1^2/(A2*SWITCH(MID(B1,2,1),"u",6276E6,"w",56,"W",360,"g",89876E8,"i",4184E5,1E-4))&B1

एक्सेल, 130 बाइट्स

पुराने जमाने के एक्सेल के पास SWITCHफंक्शन नहीं है , इसलिए आपके पास है

=40032E-15*A1^2/(A2*IF(B1="J",1,IF(B1="nukes",6276E10,IF(B1="twinkies",56E4,IF(B1="kWh",36E5,IF(B1="kg",299792E3^2,4184E9))))))&B1

( विकल्प आवश्यकताओं के लिए अभी भी पर्याप्त सटीक) के 299792E3^2साथ प्रतिस्थापित करके आप 2 बाइट्स बचा सकते 89876E12हैं। सभी मूल्यों 1000को एक और 2 से विभाजित करें :=40032E-19*A1^2/(A2*SWITCH(MID(B1,2,1),"u",6276E6,"w",56,"W",360,"g",89876E8,"i",4184E5,1E-4))&B1
Wernisch

अरे, बस इसे वहां फेंक देना चाहते हैं कि Switch()फ़ंक्शन एक्सेल की डेस्कटॉप प्रतियों के लिए उपलब्ध है, और कार्यालय 2016 के साथ पेश किया गया था।
टेलर स्कॉट

1

रूबी, 83 82 बाइट्स

->m,r,u{"#{40032E-18*m*m/r/[36E2,56,8987E9,1E-3,4184E6,6276E7][u.sum*3%71%6]} "+u}

इकाइयों ( i * k mod mसूत्र) के लिए एक LUT अनुक्रमित करने के लिए एक कस्टम हैश का उपयोग करता है । संख्या बल-बल का उपयोग करते हुए पाए गए।


0

एक्सेल, 94 बाइट्स

मास से ले जाता है A1, त्रिज्या से B1, यूनिट में C1। पर देखो 2*Code(Unit) + Length(Unit) modulo 11

=4.0032E-15*A1^2/B1/CHOOSE(MOD(2*CODE(C1)+LEN(C1),11),,4184E5,,,6276E6,1E-4,89876E8,360,56)

0

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

मैं सिर्फ इकाइयों को परिवर्तित करने के लिए एक और अजीब विधि का प्रयास करना चाहता था। लेकिन बाकी का कोड शायद बुरी तरह से गोल्फ है।

⁵OÆPḄ%9ị[56,4184ȷ5,8987ȷ9,360,0,6276ȷ6,1ȷ-4]
²÷⁴÷2498ȷ11÷¢⁵

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

कैसे?

हम अपने ASCII कोडों की प्रधानता से बाहर एक इकाई स्ट्रिंग के 'हस्ताक्षर' का निर्माण करते हैं। हम इसे एक बाइनरी मान के रूप में व्याख्या करते हैं और लुकअप तालिका में अंतिम सूचकांक प्राप्त करने के लिए एक मोड्यूलो लागू करते हैं।

⁵OÆPḄ%9ị[...]    - helper link to convert the unit to a hardcoded constant
⁵                - the 3rd input        e.g. "kilotons"
 O               - to ASCII codes       --> [107, 105, 108, 111, 116, 111, 110, 115]
  ÆP             - is prime?            --> [1, 0, 0, 0, 0, 0, 0, 0]
    Ḅ            - binary -> decimal    --> 128
     %9          - modulo 9             --> 2
       ị[...]    - get value from table --> 418400000

²÷⁴÷2498ȷ11÷¢⁵   - main link taking the mass, the radius and the unit
²                - square the mass
 ÷⁴              - divide by the radius
   ÷2498ȷ11      - divide by 2498e11
           ÷¢    - divide by the unit constant, invoking the helper link as a nilad
             ⁵   - append the unit

हेल्पर लिंक प्रत्येक इकाई के लिए निम्नलिखित संकेत देता है:

unit     | ASCII codes                     | is prime?       | bin -> dec | mod 9
---------+---------------------------------+-----------------+------------+------
J        | 74                              | 0               |      0     |   0
kilotons | 107,105,108,111,116,111,110,115 | 1,0,0,0,0,0,0,0 |    128     |   2
nukes    | 110,117,107,101,115             | 0,0,1,1,0       |      6     |   6
twinkies | 116,119,105,110,107,105,101,115 | 0,0,0,0,1,0,1,0 |     10     |   1
kWh      | 107,87,104                      | 1,0,0           |      4     |   4
kg       | 107,103                         | 1,1             |      3     |   3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.