उलटा काम करना


31

क्या यह साफ-सुथरा नहीं होगा यदि प्रोग्रामिंग फ़ंक्शन उल्टे हो सकते हैं, ठीक उसी तरह जैसे गणितीय फ़ंक्शन वे लागू करते हैं?

एक फ़ंक्शन (या प्रोग्राम) लिखें जो xकिसी भी रूप में एक इनपुट लेता है , वह आउटपुट है ln(x)
जब प्रोग्राम के बाइट्स को फिर से व्यवस्थित / उलट दिया जाता है ताकि पहले बाइट अब अंतिम बाइट हो, तो इसे xकिसी भी रूप और आउटपुट में एक इनपुट लेना चाहिए e^x

  • आपके उत्तर में कम से कम 3 सही महत्वपूर्ण आंकड़े होने चाहिए।
  • अनुमान ठीक हैं, जब तक उनके पास कम से कम 3 सही महत्वपूर्ण आंकड़े हैं।
  • आपका कोड आगे और पीछे दोनों तरफ समान प्रोग्रामिंग भाषा में होना चाहिए।

मान लीजिए कि यह कार्यक्रम लागू होता है ln(x):

abc你好

फिर इस कार्यक्रम को लागू करना होगा e^x:

\xBD\xA5\xE5\xA0\xBD\xE4cba

अगर आप बिना फ्लोट सपोर्ट के किसी भाषा का उपयोग करते हैं तो गोल्ड स्टार।

यह कोड-गोल्फ का एक अजीब रूप है, इसलिए सबसे छोटा कार्यक्रम जीतता है।


4
"क्या यह साफ-सुथरा नहीं होगा यदि प्रोग्रामिंग फ़ंक्शन उल्टे हो सकते हैं, ठीक उसी तरह जैसे कि गणितीय फ़ंक्शन वे लागू करते हैं?" कुछ भाषाएं (जैसे जे और गणित) कुछ कार्यों के लिए वास्तव में ऐसा कर सकती हैं।
मार्टिन एंडर

इसके अतिरिक्त, K2 अपने मनमाने ढंग से शुद्ध शुद्ध कार्य के लिए एक व्युत्क्रम को अपने "फंक्शन उलटा" डायोडिक और ट्रायडिक के अधिभार के माध्यम से कर सकता है ?, जो कि सेकेंट विधि का उपयोग करता था।
जॉन

1
"कम से कम 3 सही महत्वपूर्ण आंकड़े" - किस सीमा पर?
TLW

4
मुझे लगता है कि अब बहुत देर हो चुकी है, लेकिन मुझे लगता है कि यह एक बहुत अच्छी चुनौती थी, टिप्पणियों को अस्वीकृत कर दिया गया था।
एलेक्स ए।

मैं वास्तव में उस समय के बारे में सोच रहा था जब मैं इस चुनौती के साथ आया था। लेकिन पोस्ट लिखते समय इसके बारे में भूल गए: P इसके अलावा जावा, सी ++ आदि जैसी "सामान्य" भाषाओं को मूल रूप से असंभव बना दिया है।
फ़िलिप हगलुंड

जवाबों:


75

हास्केल, 11 बाइट्स

f=log
pxe=f

और रिवर्स ऑर्डर में:

f=exp
gol=f

यह "टिप्पणी" चाल के बिना काम करता है। इसके बजाय प्रत्येक संस्करण एक अतिरिक्त, लेकिन अप्रयुक्त फ़ंक्शन ( pxe/ gol) को परिभाषित करता है ।


49
के लिए +1 gol=f
लेइफ़ विलर्ट्स

2
यह भी जूलिया में एक वैध समाधान है।
रेनर पी।

44

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

*⊣⍟

यह एक फंक्शन ट्रेन है। मोनाडिक * रिटर्न e^x, मोनैडिक रिटर्न ln(x)एक डायडिक फ़ंक्शन है जो अपने बाएं तर्क को लौटाता है। इस प्रकार, *⊣⍟बस के बराबर है *, और रिवर्स ⍟⊣*बस के बराबर है


22

जेली, 5 4 बाइट्स

हाँ, मेरा पहला जेली जवाब। :) इनपुट कमांड-लाइन तर्क के माध्यम से है।

जेली का अपना कोड पृष्ठ है, इसलिए प्रत्येक वर्ण एक बाइट है।

eÆÆl

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

उलट:

lÆÆe

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

व्याख्या

Æपर अपने स्वयं के एक अपरिचित टोकन, इसलिए यह एक linefeed के रूप में ही कार्य करता है। इसका मतलब है कि या तो मामले में मुख्य लिंक केवल Ælया Æeजो कि 2-चरित्र में निर्मित है exp()या ln()पहले कमांड लाइन तर्क पर डिफ़ॉल्ट रूप से प्रदर्शन किया गया है।


9

जावास्क्रिप्ट, 18 बाइट्स

Math.log//pxe.htaM

क्या आपको इसके आसपास रिटर्न () या कंसोल.लॉग () की आवश्यकता नहीं है?
OldBunny2800

2
@ OldBunny2800 यह एक फ़ंक्शन का मूल्यांकन करता है, जिसे अनुमेय होना चाहिए।
नील

5
Math.ln||pxe.htaMशायद काम भी करेगा।
SuperJedi224

@ SuperJedi224 धन्यवाद, जिसने मुझे मेरे उत्तर में त्रुटि को दूर करने में मदद की!
नील

@ नील मैं भी नहीं देखा था कि
SuperJedi224

7

गंभीरता से, 5 बाइट्स

,_.e,

इनपुट, ln, आउटपुट, फिर एक खाली स्टैक (कुछ नहीं करता है), और इनपुट (इनपुट समाप्त होने के बाद कुछ भी नहीं करता है) पर एक्सपेक्ट करें। इसे ऑनलाइन आज़माएं!

उलट:

,e._,

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


5

जूलिया, 7 बाइट्स

log#pxe

यह एक अनाम फ़ंक्शन है। इसे कॉल करने के लिए एक चर पर असाइन करें। बिल्डिंस logया expएक टिप्पणी के साथ मूल्यांकन ।



5

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

1&#@pxE+0&0+Log@#&1

उलट:

1&#@goL+0&0+Exp@#&1

यह गोल्फ के लिए दिलचस्प था! Mathematica में कोई लाइन टिप्पणी / अंतर्निहित स्ट्रिंग अंत नहीं है, इसलिए मैं सरल मार्ग नहीं ले सका। इसके बजाय, मैं तथ्य यह है कि इस्तेमाल किया 0 + x == x, 0 x == 0, और कहा कि 1 x == x, कोई बात नहीं क्या xहै! परिक्षण:

In[1]:= (1&#@pxE+0&0+Log@#&1)[x]

Out[1]= Log[x]

In[2]:= (1&#@goL+0&0+Exp@#&1)[x]

         x
Out[2]= E

4

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

io: स्टडिन / स्टडआउट

from math import*;print log(input())#))(tupni(pxe tnirp;*tropmi htam morf

श्लोक में:

from math import*;print exp(input())#))(tupni(gol tnirp;*tropmi htam morf

आप 10 अक्षर बंद कर सकते __import__("math").हैं
TLW

3

सीजेएम, 11 बाइट्स

rdmle#eemdr

इसका परीक्षण यहां करें।

उलट:

rdmee#elmdr

इसका परीक्षण यहां करें।

मूल रूप से ओपी के पायथन जवाब के रूप में एक ही टिप्पणी-चाल। e#एक टिप्पणी शुरू करता है। rdइनपुट पढ़ता है और mlया meलघुगणक या घातांक की गणना करता है।


3

ब्रेकीलॉग , 3 बाइट्स

*₁≡

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

प्रारंभ में, मुझे उपयोग करने की उम्मीद थी ~*, लेकिन हालांकि *~गणना e^xऔर सफलतापूर्वक अनुगामी टिल्ड को अनदेखा करता है , ~*सभी पूर्णांक इनपुट के लिए विफल रहता है और अधिकांश गैर-पूर्णांक इनपुट पर एक फ्लोट ओवरफ़्लो हिट करता है।

फॉरवर्ड:

       The output
  ≡    is
*₁     the natural logarithm of
       the input.

पीछे की ओर:

       The output is
  *    Euler's number to the power of
       the input
≡      passed through the identity predicate
 ₁     with an extraneous subscript.

यह पहचान की भविष्यवाणी का उपयोग करता है, क्योंकि अनुगामी टिल्ड को सहन किया जाता है, अग्रणी सदस्यता नहीं होती है। (यदि वे होते, तो ब्रेजलॉग उत्तर *₁अकेले होता, जो प्राकृतिक लॉग के लिए सामान्य बिलिन है।)


2

विटेसी, 5 बाइट्स

यह एक प्रोग्राम है जो एक त्रुटि पर बाहर निकलता है।

EL^rE
E   E  Push java.lang.Math.E
 L     Push log_(top) (input) (ln(input))
  ^    Push (top)^(input)  (e^(input))
   r   Reverse the stack

यह प्रोग्राम स्टैक पर ln (इनपुट) के साथ एक त्रुटि पर बाहर निकलता है।

इसे ऑनलाइन आज़माएं! (ध्यान दें कि मैंने Nदृश्यमान आउटपुट को रखा है)

फिर इसका उलटा है:

Er^LE

यह प्रोग्राम स्टैक पर e ^ (इनपुट) के साथ एक त्रुटि पर बाहर निकलता है।

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


2

फजी ऑक्टो गुआकामोल, 7 बाइट्स

गैर-प्रतिस्पर्धी, FOG चुनौती से नया है

EZO@pZE

यह FOG के एक फंक्शन के बराबर है। यह मानता है कि इनपुट स्टैक पर है। यह कोड द्वारा एक फ़ंक्शन को सौंपा जा सकता है "EZO@pZE""f"o, जहां fकोई एकल-चार नाम है जिसे आप असाइन करना चाहते हैं। फिर इसे किसी अन्य कमांड की तरह उपयोग करें। उदाहरण: "EZO@pZE"'f'o^f

स्पष्टीकरण:

EZO@pZE
E       # Push E (2.718....)
 Z      # Reverse stack (it is now [e, input])
  O     # log(x, y) which is ln(input)
   @    # Exit. (implicit output) Nothing after this gets run.
    p   # x^y (power function)
     Z  # Reverse stack
      E # Push E.

उलट:

EZp@OZE
E       # Push E (2.718....)
 Z      # Reverse stack (it is now [e, input])
  O     # x^y (power function)
   @    # Exit. (implicit output) Nothing after this gets run.
    p   # log(x, y) which is ln(input)
     Z  # Reverse stack
      E # Push E.


1

पायथ, 12 बाइट्स

ढूंढता है ln(input())

.lQ) " Q1n.^

ढूंढता है e^input()

^.n1Q " )Ql.

स्पेस स्ट्रिंग्स के निहित मुद्रण को रोकते हैं, प्रत्येक संस्करण इसकी गणना करता है फिर शेष पात्रों के साथ एक स्ट्रिंग बनाता है।

ln(x) यहाँ मोड

e^x यहाँ मोड



1

जोल्फ, 9 बाइट्स

प्रोग्राम 1: expइनपुट का

amoj"jOma
a         print
 moj      e^j
    "jOma  the rest of the line is captured as a string; implicit printing is restricted.

प्रोग्राम 2: lnइनपुट का

amOj"joma
a         print
 mOj      ln(j)
    "joma  the rest of the line is captured as a string; implicit printing is restricted.

केस-असंवेदनशील पैलिंड्रोम होने के लिए बोनस अंक? यहाँ कोशिश करो!


1

जे, 8 बाइट्स

प्राकृतिक लघुगणक ^., और घातीय है ^। समस्या यह है, .केवल एक मान्य क्रिया को संशोधित कर सकता है, अन्यथा, एक वर्तनी त्रुटि उत्पन्न होगी। इस प्रकार, हम एपीएल उत्तर में लेफ्ट लॉजिक ट्रिक का उपयोग नहीं कर सकते हैं, क्योंकि किसी अमान्य क्रिया ^.[^को ^[.^बनाते समय रिवर्सल उलट होने पर त्रुटि का कारण होगा । इसलिए, हमें टिप्पणियों का उपयोग करना चाहिए; लेकिन NB.इतना लंबा है :( सौभाग्य से, वे दोनों के साथ अंत ., इसलिए & ldots; वहाँ है कि।

लघुगणक:

^.NB.BN^

घातीय:

^NB.BN.^

आप उन्हें अपने लिए ऑनलाइन दर्ज कर सकते हैं !



0

रूनिक एनकाउंटर , 9 बाइट्स

i'lA@Ae'i

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

एक अबोध निर्बाध कार्यक्रम। @बाईं ओर निहित प्रविष्टि बिंदु की समाप्ति के बाद, सब कुछ अप्रकाशित है। मैंने वास्तव में 'या Aनिर्देशों का फिर से उपयोग करने के लिए बहुत कोशिश की , लेकिन बड़े कार्यक्रमों के आकार पर भी कोई फायदा नहीं हुआ। मल्टी-लाइन कार्यक्रमों के लिए आवश्यक स्पष्ट प्रवेश बिंदु अनिवार्य रूप से इसे रोकता है।

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