বিপরীত ফাংশন


31

প্রোগ্রামিং ফাংশনগুলি যেমন গাণিতিক ফাংশনগুলি তারা প্রয়োগ করে ঠিক তেমনই উল্টানো যায় তবে তা কি ঝরঝরে হবে না?

কোনও ফাংশন (বা প্রোগ্রাম) লিখুন যা xকোনও রূপে একটি ইনপুট নেয় , যা আউটপুট দেয় ln(x)
যখন প্রোগ্রামটির বাইটগুলি পুনরায় সাজানো / বিপরীত করা হয় যাতে প্রথম বাইটটি এখন শেষ বাইট হয়, তার পরিবর্তে xকোনও ফর্ম এবং আউটপুটে একটি ইনপুট নেওয়া উচিত e^x

  • আপনার উত্তরে কমপক্ষে 3 টি সঠিক উল্লেখযোগ্য চিত্র থাকতে হবে figures
  • যতক্ষণ না তাদের কমপক্ষে 3 টি সঠিক উল্লেখযোগ্য চিত্র থাকে ততক্ষণে অনুমানগুলি ঠিক থাকে।
  • আপনার কোডটি অবশ্যই এগিয়ে এবং পিছনে উভয়ই একই প্রোগ্রামিং ভাষায় থাকতে হবে।

এই প্রোগ্রামটি প্রয়োগ করে বলি ln(x):

abc你好

তারপরে এই প্রোগ্রামটি প্রয়োগ করতে হবে e^x:

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

আপনি যদি ফ্লোট সমর্থন ছাড়াই কোনও ভাষা ব্যবহার করেন তবে সোনার তারা।

এটি কোড-গল্ফের একটি অদ্ভুত রূপ, তাই সংক্ষিপ্ততম প্রোগ্রামটি জিতে।


4
"প্রোগ্রামিং ফাংশনগুলি যেমন গাণিতিক ফাংশনগুলি প্রয়োগ করে ঠিক তেমনই সেগুলিও উল্টানো যেতে পারে না?" কিছু ভাষা (যেমন জে এবং ম্যাথমেটিকা) আসলে কিছু ফাংশনের জন্য এটি করতে পারে।
মার্টিন ইন্ডার

অতিরিক্তভাবে, কে 2 তার "ফাংশন বিপরীতমুখী" ডায়াডিক এবং ট্রায়ডিকের ওভারলোডের মাধ্যমে একটি স্বেচ্ছাসেবী মনাদিক বিশুদ্ধ ফাংশনটির জন্য আনুমানিক অনুমান করতে পারে ?, যা সেকান্ট পদ্ধতি ব্যবহার করে।
জন

1
"কমপক্ষে তিনটি সঠিক উল্লেখযোগ্য পরিসংখ্যান" - কোন ব্যাপ্তির উপরে?
TLW

4
আমি বুঝতে পেরেছি যে এখন অনেক দেরি হয়ে গেছে, তবে আমি মনে করি যে মন্তব্যগুলি প্রত্যাখ্যান করা হলে এটি একটি দুর্দান্ত চ্যালেঞ্জ হত।
অ্যালেক্স এ।

আমি যখন অ্যালেক্সার এই চ্যালেঞ্জটি নিয়ে এসেছিলাম তখন আমি আসলে এটির কথা ভেবেছিলাম। তবে পোস্টটি লেখার সময় এটি সম্পর্কে ভুলে গিয়েছিলেন: পি এছাড়াও জাভা, সি ++ ইত্যাদির মতো "সাধারণ" ভাষাগুলি অসম্ভব করে তুলেছিল।
ফিলিপ হাগলুন্ড

উত্তর:


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

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

Æতার নিজের কোনো অস্বীকৃত টোকেন, তাই এটি একটি লাইনফীড হিসাবে একই কাজ করে। উভয় ক্ষেত্রে এর মানে হল যে প্রধান লিঙ্কটি কেবলমাত্র হয় Ælবা Æeযা 2-চরিত্র বিল্ট-ইন হয় exp()বা ln()প্রথম কম্যান্ড-লাইন যুক্তি সম্পাদনা ডিফল্ট দ্বারা হয়।


9

জাভাস্ক্রিপ্ট, 18 বাইট

Math.log//pxe.htaM

আপনার চারপাশে কোনও রিটার্ন () বা কনসোল.লগ () দরকার নেই?
OldBunny2800

2
@ OldBunny2800 এটি কোনও ফাংশনকে মূল্যায়ন করে যা অনুমোদিত হতে হবে।
নীল

5
Math.ln||pxe.htaMসম্ভবত কাজ করবে।
সুপারজেডি ২২৪

@ সুপারজেডি ২২৪ ধন্যবাদ, এটি আমার উত্তরটিতে ত্রুটি চিহ্নিত করতে সহায়তা করেছে!
নিল

@ নীল আমি এমনকি খেয়ালও করিনি
সুপারজেডি ২৪৪

7

সিরিয়াসলি, 5 বাইট

,_.e,

ইনপুট, এলএন, আউটপুট, তারপরে খালি স্ট্যাকের (কোনও কিছু করে না) এক্সপুট এবং ইনপুট (ইনপুট শেষ হয়ে যাওয়ায় কিছুই করে না)। এটি অনলাইন চেষ্টা করুন!

বিপরীত:

,e._,

এটি অনলাইন চেষ্টা করুন!


5

জুলিয়া, 7 বাইট

log#pxe

এটি একটি বেনামে ফাংশন। এটিকে কল করার জন্য এটি একটি ভেরিয়েবলকে বরাদ্দ করুন। অন্তর্নির্মিত মূল্যায়ন logবা expএকটি মন্তব্য প্লাস।


1
একই উত্তর আর জন্য কাজ করে
Dason

5

গণিত, 19 বাইট

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

বিপরীত:

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

এটি গল্ফের জন্য আকর্ষণীয় ছিল! গাণিতিকের কোনও লাইন মন্তব্য / অন্তর্নিহিত স্ট্রিংয়ের শেষ নেই, তাই আমি সহজ রুটটি নিতে পারিনি। পরিবর্তে, আমি সত্য যে ব্যবহৃত 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: stdin / stdout

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 বাইট

অ-প্রতিযোগিতামূলক, এফওজি চ্যালেঞ্জের চেয়ে নতুন

EZO@pZE

এটি এফওগিতে কোনও ফাংশনের সমতুল্য। এটি ধরে নেয় ইনপুট স্ট্যাকের মধ্যে রয়েছে। এটি কোড দ্বারা কোনও ফাংশনে নির্ধারিত হতে পারে "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; আছে that

লগারিদম:

^.NB.BN^

সূচকীয়:

^NB.BN.^

আপনি অনলাইনে নিজের জন্য এগুলি প্রবেশ করতে পারেন !



0

রুনিক এনেক্যান্টমেন্টস , 9 বাইট

i'lA@Ae'i

এটি অনলাইন চেষ্টা করুন!

একটি অনর্থক উদ্দীপনা কর্মসূচী। @বামদিকে অন্তর্ভুক্ত প্রবেশের পয়েন্টটি সমাপ্তির বিমা দেয়, তার পরে সমস্ত কিছুই নির্বিঘ্ন। আমি নির্দেশাবলী 'বা Aনির্দেশাবলী পুনরায় ব্যবহার করার জন্য খুব চেষ্টা করেছি , তবে কোনও বড় আকারের প্রোগ্রাম আকারেও লাভ হয়নি no মাল্টি-লাইন প্রোগ্রামগুলির জন্য প্রয়োজনীয় সুস্পষ্ট এন্ট্রি পয়েন্টটি মূলত এটিকে নিষিদ্ধ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.