एक वर्ग और एक वर्गमूल की गणना करें!


48

आपको एक बनाना चाहिए जो एक भाषा में इनपुट के वर्ग और दूसरे में इनपुट के वर्गमूल को आउटपुट करता है। बाइट्स जीत में सबसे छोटा जवाब!

आपके पास कम से कम 3 दशमलव स्थानों की सटीकता होनी चाहिए, और इनपुट हमेशा एक सकारात्मक फ्लोट होगा।

जवाबों:


45

जोल्फ और MATL , 1 बाइट

U

जोल्फ में स्क्वायर रूट, MATL में वर्ग।

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

जुल्फ कोड की कोशिश करो। केवल फ़ायरफ़ॉक्स पर काम करता है।

ये दोनों 1 बाइट हैं, क्योंकि MATL और जोल्फ दोनों ASCII / विस्तारित ASCII कोडपे का उपयोग करते हैं, इसलिए सभी कमांड 1 बाइट हैं।


90

सी और सी ++, 68 65 बाइट्स

#include<math.h>
float f(float n){auto p=.5;return pow(n,2-p*3);}

मूल उत्तर:

#include<math.h>
float f(float n){return pow(n,sizeof('-')-1?2:.5);}

दोनों संस्करणों के लिए, C का उत्पादन n^2और C ++ का उत्पादन होता है sqrt(n)


23
एक "हा!" उन सभी लोगों के लिए जो C और C ++ को एक ही चीज मानते हैं।
डॉकमैक्स

20
@ CAD97: C में, auto"स्टैक पर आवंटित" का अर्थ है। यह कीवर्ड काफी बेकार है क्योंकि यह वैसे भी डिफ़ॉल्ट है, इसलिए C ++ ने इसका अर्थ कुछ और बताया। सी में, हालांकि, यह p(यह एक भंडारण वर्ग है, एक प्रकार नहीं है) के प्रकार के बारे में कोई राय व्यक्त नहीं करता है , इसलिए यह intडिफ़ॉल्ट रूप से गिना जाता है (यह डिफ़ॉल्ट-टू- intव्यवहार आजकल हतोत्साहित किया जाता है, और संभावना केवल इसलिए मौजूद है क्योंकि सी के कुछ पूर्ववर्तियों में डेटा प्रकार बिल्कुल नहीं थे, लेकिन कंपाइलर अभी भी इसे समझते हैं)। और हां, (int)0.50. है

2
ये जबरदस्त है।
क्वेंटिन

1
इसके बारे में एक ढेर अतिप्रवाह सवाल मिला ।
वाईएससी

9
मुझे लगता है कि इस उत्तर के लिए स्पष्टीकरण @ ais523 की टिप्पणी में संपादन करके सुधार किया जाएगा कि सी क्यों पैदा करता है n^2
ब्रायन जे

50

पायथन 2 और पायथन 3, 23 21 बाइट्स

lambda n:n**(1/2or 2)

पायथन 2.x का उत्पादन n^2, पायथन 3.x का उत्पादन करता है sqrt(n)

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


यह बहुत अच्छा है!
njzk2

क्यों? क्या यह पहले की जगह की कमी है or?
1:14 बजे

@chx Py2 में, /पूर्णांक विभाजन ( 1/2==0) करता है। Py3 में, यह फ्लोटिंग पॉइंट डिवीजन करता है ( 1/2==0.5)! 0फाल्सी है।
निक हार्टले

तो क्यों नहीं या के बाद अंतरिक्ष हटा दें?
chx

@chx इसे स्वयं आज़माएं। यदि आप एक वाक्यविन्यास त्रुटि फेंकता है।
नंबरमान

32

2sable / जेली , 2 बाइट्स

*.

2sable वर्ग की गणना करता है। इसे ऑनलाइन आज़माएं!

जेली वर्गमूल की गणना करती है। इसे ऑनलाइन आज़माएं!

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

2sable

*   Read the input twice and compute the product of both copies.
    This pushes the square of the input.
 .  Unrecognized token (ignored).

जेली

 .  Numeric literal; yield 0.5.
*   Raise the input to the power 0.5.
    This yields the square root.

7
यह इन भाषाओं की तरह बनाया गया था है सिर्फ इस चुनौती के लिए
FloatingRock

20

सी (क्लैंग) और पायथन , 109 107 69 53 बाइट्स

#/*
lambda n:n**.5;'''*/
float a(i){return i*i;}//'''

C: यह ऑनलाइन कोशिश करो!

अजगर: यह ऑनलाइन कोशिश करो!

पॉलीग्लॉट टिप्पणियों का उपयोग करके काम करता है। बाकी बहुत व्याख्यात्मक है।

पहली बार सी का उपयोग कर!

  • @Riker की बदौलत काफी कुछ बाइट्स बचा।
  • अनावश्यक व्हाट्सएप को हटाकर 2 बाइट्स बचाए।
  • STDIN / OUT के बजाय C के लिए फ़ंक्शन का उपयोग करके बहुत से बाइट्स सहेजे गए।
  • शीर्ष पर आयात विवरण को हटाकर @Delioth के लिए 16 बाइट्स धन्यवाद सहेजा गया।

@ रिकर करेंगे, धन्यवाद।
कॉमरेड स्पार्कलपनी

मेरा मानना ​​है कि आप सी टिप्पणी (लाइन 2, अंतिम चरित्र) के बाद एक सी निकाल सकते हैं क्योंकि सी को व्हॉट्सएप की जरूरत नहीं है और यह पहले से ही अजगर के लिए एक शाब्दिक स्ट्रिंग है। चूँकि आप कोई विशेष कोड नहीं लौटा रहे हैं, आप return 0;अंत से चूक सकते हैं- C99 main()विशेष रूप से 0 का निहित रिटर्न देता है । स्रोत
२०

@ डेलियोथ यह वास्तव में सिर्फ फ़ंक्शन का उपयोग करने के लिए और io मिटा देता है।
कॉमरेड स्पार्कलपनी

ओह, हाँ-बहुत बेहतर। क्या आपको stdio.hउस मामले में शामिल करने की आवश्यकता है ?
१०:

@ डेलियोथ मैं नहीं। ओह!
कॉमरेड स्पार्कलपनी

16

ओम और जेली , 3 बाइट्स

ओम में वर्ग को आउटपुट करता है, जेली में वर्गमूल।

ओम और जेली अलग-अलग सिंगल-बाइट कोडपेस का उपयोग करते हैं, इसलिए प्रोग्राम प्रत्येक एन्कोडिंग में अलग-अलग दिखाई देगा।

कार्यक्रम का xxd हेक्सडंप:

00000000: fd7f 0a                                  ...

जेली

जेली के कोडपेज का उपयोग करना, यह इस तरह दिखाई देता है:

’
½

जेली अपने मुख्य लिंक होने के लिए सबसे नीचे की रेखा को लेती है, और अन्य लिंक को अनदेखा करती है जब तक कि विशेष रूप से नहीं बुलाया जाता है। तो यहाँ यह सिर्फ वर्गमूल ( ½) करता है और इसे संक्षेप में आउटपुट करता है।

ओम

ओम के कोडपेज (CP437) का उपयोग करते हुए, यह इस तरह दिखाई देता है:

²⌂◙

²वर्ग समारोह है, और और दोनों अपरिभाषित है, तो कार्यक्रम सिर्फ वर्गों परोक्ष इनपुट पढ़ सकते हैं और परोक्ष यह आउटपुट।


अच्छा! बाइट की गिनती ठीक है।
प्रोग्रामर

मैंने अपना उत्तर 5 बाइट्स के साथ संपादित किया क्योंकि इससे अच्छी पकड़ है।
मैजिक ऑक्टोपस Urn

वाह, मेरे द्वारा लिखे गए पहले ओम का उत्तर नहीं! बहुत बढ़िया!
निक क्लिफर्ड

यदि आप ½बाइट पाने के लिए जेली कोड पेज का उपयोग करते हैं , तो ²मैप क्या करता है? क्या यह सिर्फ कबाड़ है जिसे अभी भी अनदेखा किया गया है? और इसके विपरीत ओम के लिए? तब यह 2 बाइट्स लगता है।
AdmBorkBork

1
मैं एक उदाहरण बनाऊंगा, क्योंकि मैं वास्तविक कोड पॉइंट्स देखने की जहमत नहीं उठाना चाहता। मान लीजिए कि ²ओम में कोड बिंदु 5 पर है। जेली में कोड बिंदु 5 है %और कुछ भी नहीं करता है, इसलिए यह कोई फर्क नहीं पड़ता कि पहली पंक्ति क्या है। मान लीजिए कि ½जेली 27 पर है, और ओह्म में कोड बिंदु 27 है Jऔर कुछ भी नहीं करता है, इसलिए यह मायने नहीं रखता कि दूसरी पंक्ति क्या है। इस प्रकार, यदि आपके पास फ़ाइल है 00000101<newline>00011011, तो यह 3 बाइट्स है। मुझे लगता है कि एकमात्र समस्या यह है कि अगर नईलाइन कोड पृष्ठों में एक अलग स्थान पर है।
AdmBorkBork

15

C89 और C99, 47 + 3 = 50 बाइट्स

float f(float n){return n//*
/sqrt(n)//*/1*n
;}

-lmध्वज की आवश्यकता है (+3)

C89 पैदा करता है n^2, C99 पैदा करता है sqrt(n)। C89 में परीक्षण करने के लिए, इसे ऑनलाइन आज़माएं!


sqrtसंस्करण को करने के लिए C89 को कम कोड लेना चाहिए, लेकिन यह s के sqrtसाथ फ़ंक्शन को स्पष्ट रूप से घोषित करने पर जोर देता है int, इसलिए यह सबसे अच्छा है जिसे मैं प्रबंधित कर सकता हूं।


13

ऑक्टेव / MATLAB, 31 29 बाइट्स

 @(x)x^(2-3*any(version>60)/2)

यह ऑक्टेव में वर्ग और MATLAB में वर्गमूल का उत्पादन करता है।

स्पष्टीकरण:

वाक्य रचना MATLAB और ऑक्टेव (कोड के इस छोटे से टुकड़े के लिए) में समान है।

यह एक अनाम फ़ंक्शन बनाता है:

@(x)                                 % Take x as input
    x^(                     )        % Raise x to the power of ...   
               version                 % Returns the version number
                                       % 4.2.0 in Octave, 
                                       % '9.2.0.538062 (R2017a)' in MATLAB
               version>60              % 'R' is larger than 60. All others are smaller
         3*any(version>60)/2           % Checks if there is an 'R' and multiplies it by 1.5 if it is.
       2-3*any(version>60)           % 2-1.5*(is there an 'R')

12

मूल / डेल्फी - 6 वर्ण

sqr(x)

बेसिक में स्क्वायर रूट और डेल्फी में स्क्वायर।

आप अभिव्यक्ति का निरीक्षण करने के लिए डिबगर का उपयोग कर सकते हैं, जिससे किसी भी आउटपुट आवश्यकताओं को पूरा किया जा सकता है!


2
क्या यह स्वयं इनपुट लेता है?
Rɪᴋᴇʀ

नहीं, लेकिन न तो सी / सी ++ एक सहित कुछ अन्य प्रस्तुतियाँ करते हैं।

हालांकि, अभी भी अमान्य है, जो कुछ भी नहीं बदलता है। मैं उन पर भी टिप्पणी करने की कोशिश करूंगा।
R

1
आप किसी भी है कि लिंक नहीं कर सकते हैं? मुझे कोई नहीं मिल रहा है। C / C ++ एक एक फ़ंक्शन है, एक पैरामीटर के बजाय, इनपुट नहीं लेता है।
R

3
हाँ, पर क्या है x? आप मान नहीं सकते कि यह किसी मूल्य पर सहेजा गया है। लेकिन आप वास्तव में (x)एक समारोह में लौटने के रूप में इसे हटाने और लेबल करने में सक्षम हो सकते हैं ।
R

11

05AB1E / फायरबॉल , 3 बाइट्स

निम्नलिखित बाइट्स कार्यक्रम बनाते हैं:

FD B9 74

05AB1E वर्गमूल, फायरबॉल वर्गों की गणना करता है।

स्पष्टीकरण (05AB1E - ý¹t):

ý       Pushes an empty string to the stack (not entirely sure why)
 ¹      Push first input
  t     Square root

स्पष्टीकरण (आग का गोला - ²╣t):

²       Square input
 ╣      Unassigned
  t     Unassigned

कभी-कभी, यह एक अधूरी भाषा होने में मदद करता है;)


1
05AB1E और फायरबॉल विभिन्न एन्कोडिंग का उपयोग करते हैं। क्या इससे कार्यक्रमों पर असर पड़ता है?
डेनिस

@ डेनिस मैं उस बारे में नहीं सोचता था। तो एक ही प्रोग्राम को अलग-अलग एन्कोडिंग में सहेजना पॉलीगोट्स के लिए नहीं है?
ओकेक्स

5
Afaik, डिफ़ॉल्ट यह है कि बाइट स्ट्रीम से मेल खाना चाहिए।
डेनिस

10

PHP7 + जावास्क्रिप्ट, 62 61 58 बाइट्स

यह वास्तव में मेरी अपेक्षा से अधिक चुनौतीपूर्ण था! मुझे काफी आश्चर्य है कि मेरा कोड कितना लंबा है।

eval(['alert((_=prompt())*_)','echo$argv[1]**.5'][+![]]);


यह कैसे काम करता है?

यह सरणी से चलाने के लिए कोड का चयन करके काम करता है।
PHP और JavaScript का पता लगाया जाता है +![]

PHP में, [](खाली सरणी) एक मिथ्या मूल्य है, जबकि जावास्क्रिप्ट में यह एक सत्य मूल्य है (ऑब्जेक्ट्स (को छोड़कर null) हमेशा सत्य होते हैं, यहां तक new Boolean(false)कि सत्य भी है!)।
लेकिन, मुझे इसे एक संख्यात्मक मान प्राप्त करने की आवश्यकता है, इसलिए, मैं सिर्फ एक not( !) का उपयोग करता हूं और इसे पूर्णांक ( +) के साथ परिवर्तित करता हूं ।
अब, 1जावास्क्रिप्ट मूल्य देता है , जबकि जावास्क्रिप्ट पैदावार 0
एक कोड के अंदर कोड को रखने, उन अनुक्रमित पर, हमें वांछित भाषा के लिए सही कोड का चयन करने की अनुमति देगा।
इसका उपयोग [JS,PHP][+![]]सही भाषा का कोड प्राप्त करने के लिए किया जा सकता है ।

पिछले पॉलीग्लॉट पर, मैंने उपयोग किया है '\0'=="\0", जो trueजावास्क्रिप्ट में है (चूंकि \0NULL-बाइट के रूप में पार्स किया गया है) और falsePHP में ( '\0'NULL-बाइट के रूप में पार्स नहीं किया जाएगा, NULL-बाइट के \0साथ शाब्दिक स्ट्रिंग की तुलना में )।
मुझे खुशी है कि मैं इस चेक को कम करने में कामयाब रहा +!'0'
मैं @rckd के बारे में और अधिक खुश हूं , जिसने इसे वर्तमान संस्करण में घटा दिया!

वहाँ से, यह बस evalआवश्यक कोड है।

पीएचपी

PHP 2 तर्क से मूल्य प्राप्त करने और मानक आउटपुट में प्रदर्शित करता है echo$argv[1]**.5(के बराबर echo sqrt($argv[1]);, वर्ग-रूट संख्या) निष्पादित करेगा ।

जावास्क्रिप्ट

जावास्क्रिप्ट निष्पादित करता है alert((_=prompt())*_), जो एक में वर्ग संख्या प्रदर्शित करता है alert



1 बाइट बचाने के लिए @rckd और 3 बाइट बचाने के लिए @ user59178 धन्यवाद !


1
[!] आपको 1 बाइट
बचाएगा

1
@ पवित्र गाय! पूरी तरह से खाली सरणियों के बारे में भूल गया। धन्यवाद! मैंने इस सवाल पर संपादित किया है कि यह कैसे काम करता है, इस पर एक स्पष्टीकरण के साथ।
इस्माइल मिगुएल

1
आप echo$argv[1]**.5इसके बजाय 3 बाइट्स बचा सकते हैंecho sqrt($argv[1])
11:59 पर user59178

वाह, अच्छी बचत! धन्यवाद! मैंने इसे उत्तर में जोड़ दिया है।
इस्माईल मिगुएल

8

05AB1E और जेली , 4 बाइट्स

nqƓ½

(05AB1E) - (जेली)

nq   # Ignored by Jelly, push n**2 in 05AB1E then quit.
  Ɠ½ # Ignored by 05AB1E due to quit, push sqroot of input in Jelly.

किसी और ने एक अच्छी बात की, मुझे लगता है कि यूटीएफ -8 के पात्रों को कोड पृष्ठों में एक ही ऑपरेशन साझा नहीं किया गया है कि वे प्रत्येक को एनकोड करने के लिए तकनीकी रूप से 2-बाइट्स हैं। हालाँकि, जब इसे हेक्स डंप के संदर्भ में देखते हैं:

6e 71 93 0a

05AB1E के CP1252 में इस परिणाम को एन्कोडिंग:

nq“\n

इसका मतलब यह है कि यह अभी भी वर्ग का उत्पादन करेगा और बाकी को अनदेखा करेगा। जब ये बाइट्स जेली के कोडपेज का उपयोग करके एन्कोडेड होते हैं:

nqƓ½

निष्पादित होने पर मूल इच्छित कोड, इनपुट लेने और sqrt लेने के वांछित परिणाम में परिणाम होता है।


2
यह वास्तव में UTF-8 में 6 बाइट्स है, दोनों के रूप में Ɠऔर ½दो बाइट्स को एन्कोड करने की आवश्यकता होती है। हालांकि, बाइट अनुक्रम 6e 71 93 0a( सीपी -125 के nqƓ½लिए जेली के nq“\nलिए) दोनों भाषाओं में काम करना चाहिए।
डेनिस

@ डेनिस ½दोनों कोड-पेज पर होने के कारण इसे एक एकल के रूप में गिनने की अनुमति नहीं है क्योंकि वे अलग-अलग ऑपरेशन हैं जो मुझे लगता है? मैं अभी भी पूरे पृष्ठ-पृष्ठ की चीज़ पर फ़र्ज़ी हूं।
मैजिक ऑक्टोपस Urn

1
बाइट्स में स्कोरिंग का अर्थ है बाइट धाराओं को गिनना। जब तक दुभाषिया वास्तव में एक कोड पेज में कुछ वर्णों को कूटने के लिए और दूसरे वर्णों में दूसरे वर्णों का समर्थन नहीं करता है, तब तक हम स्कोरिंग उद्देश्यों के लिए ऐसा नहीं कर सकते हैं।
डेनिस

4
@ सबकुछ आपके सबमिट करने के 4 बाइट्स हैं 6e 71 93 0aइसलिए 4 बाइट्स का दावा करने के बारे में कोई "सैद्धांतिक रूप से" नहीं है। बस 4 बाइट्स का दावा करें। यह सिर्फ इतना होता है कि 05AB1E के मानक एन्कोडिंग में, यह एक चीज़ पढ़ता है, जो आप चाहते हैं, जबकि जेली के मानक एन्कोडिंग में, यह एक और पढ़ता है जो आपको चाहिए। एक तरफ के रूप में, सिर्फ 2 एनकोडिंग एक ही चरित्र को सांकेतिक शब्दों में बदलना कर सकते हैं इसका मतलब यह नहीं है कि उन दोनों में चरित्र समान होगा। बस पहले से साझा किए गए एक लुकिंग टेबल के साथ संख्यात्मक साइबरफोर जैसे एन्कोडिंग के बारे में सोचें और उम्मीद है कि यह आपको एक अच्छा शुरुआती मानसिक-मॉडल देगा।
डेव

@ मुझे डेनिस की गलत व्याख्या करनी चाहिए थी।
मैजिक ऑक्टोपस Urn

6

CJam / MATL , 8 बाइट्स

ld_*GX^!

CJam में वर्ग की गणना करता है ( इसे ऑनलाइन आज़माएं! ) और MATL में वर्गमूल ( इसे ऑनलाइन आज़माएं! )।

CJam में वर्ग की व्याख्या

ld    e# Read input line and interpret as a double
_     e# Duplicate
*     e# Multiply. Pops the input number twice, pushes its square
G     e# Push 16
X     e# Push 1
^     e# Bitwise XOR. Pops 16 and 1, and pushes 17
!     e# Negate. Pops 17, pushes 0
      e# Implicitly display. This prints the squared input with decimals,
      e# immediately followed by the 0 coming from the negate operation
      e# Even if the square of the input number is an integer, say 5,
      e# it is displayed as 5.0, so including an extra 0 always gives a
      e# correct result

MATL में वर्गमूल की व्याख्या

l      % Push 1. This is a number or equivalently a 1×1 array
d      % Consecutive differences. Pops 1, pushes [] (empty array)
_      % Negate (element-wise). This leaves [] as is
*      % Implicitly input a number and push it. Multiply (element-wise): 
       % pops [] and the input number, pushes []
G      % Push input number again
X^     % Square root. Pops number, pushes its square root
!      % Transpose. For a number (1×1 array) this does nothing
       % Implicitly display. The stack contains [] and the result; but 
       % [] is not displayed at all

अरे! अच्छा प्रस्तुत! अन्य उत्तरों की तरह एक स्पष्टीकरण जोड़ने के लिए देखभाल?
प्रोग्रामर

@ प्रोग्रामर 5000 मैंने एक त्रुटि तय की और स्पष्टीकरण को जोड़ा
लुइस मेंडो

5

पायथन 2 और फोर्थ, 43 33 बाइट्स

( """ )
fsqrt
\ """);lambda n:n*n

इसे ऑनलाइन आज़माएँ: पायथन 2 (वर्ग) | फोर्थ (sqrt)

यह पायथन में एक अनाम फ़ंक्शन और fsqrtफोर्थ में एक अंतर्निहित फ़ंक्शन का मूल्यांकन करता है। पैंथन में लैम्बडा के सामने fरखकर 2 बाइट्स के लिए एक नामित फ़ंक्शन हो सकता है f=

फोर्थ कार्यक्रम एक अस्थायी बिंदु शाब्दिक लेता है , जिसे फोर्थ में वैज्ञानिक संकेतन में लिखा जाना चाहिए। पाई को 3 दशमलव स्थानों पर काट दिया 3.141जाएगा ( ) इस तरह लिखा जाएगा:

3141e-3

5

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

f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)

ES7 में इनपुट के वर्ग और ES6 में वर्गमूल को लौटाता है। जब तक आपके पास एक पुराना ब्राउज़र नहीं है जो ईएस 6 का समर्थन करता है लेकिन ईएस 7 का समर्थन नहीं करता है, तब तक परीक्षण करना कठिन है।

f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)

console.log(f(4));


चालाक! इस पर अच्छा काम!
प्रोग्रामर

क्या बैकटिक्स का कोई कारण है? लगता है जैसे एकल उद्धरण काम करेंगे।
15

@JLRishe नहीं, कोई कारण नहीं :)
टॉम

5

PHP और CJam , 30 29 25 बाइट्स

ECHO"$argv[1]"**2;#];rdmq

PHP में वर्ग और CJam में वर्गमूल की गणना करता है। -rPHP में उपयोग करके चलाया जाना है ।

पीएचपी

पहली कमांड लाइन तर्क ( $argv[1]) को शक्ति 2 तक बढ़ाता है और इसे आउटपुट करता है। यहां $argv[1]वास्तव में एक स्ट्रिंग में इनलाइन चर के रूप में डाला गया है, जो एक्सप्रेशन करने से पहले एक नंबर पर डाली जाती है। ऐसा इसलिए है क्योंकि vCJam में एक वैध निर्देश नहीं है और इसे पार्स करते समय त्रुटि का कारण होगा, लेकिन इसे स्ट्रिंग में डालने से कोई समस्या नहीं होगी।

# टिप्पणी शुरू करता है, इसलिए बाद में सब कुछ नजरअंदाज कर दिया जाता है।

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

CJam

कोड का पहला भाग, ECHO"$argv[1]"**2;#मूल्यों का एक गुच्छा धक्का देता है और संचालन का एक गुच्छा करता है, जो सभी अच्छी तरह से बेकार हैं। एकमात्र महत्वपूर्ण बात यह है कि वे किसी भी त्रुटि का कारण नहीं बनते हैं, क्योंकि इसके बाद सही है ];, जो एक सरणी में पूरे स्टैक को लपेटता है और फिर इसे त्याग देता है।

उसके बाद, यह इनपुट ( rd) से एक डबल पढ़ता है , और अपने वर्गमूल ( mq) को प्राप्त करता है, और अंतर्निहित रूप से इसे आउटपुट करता है।

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


5

सी, ऑपरेशन फ्लैशपॉइंट स्क्रिप्टिंग भाषा, 52 बाइट्स

;float f(float x){return sqrt(x);}char*
F="_this^2";

OFP स्क्रिप्ट में, एक लाइन की शुरुआत में एक अर्धविराम उस पंक्ति को एक टिप्पणी करता है, जबकि C अतिरिक्त अर्धविराम के बारे में परवाह नहीं करता है।

सी:

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

OFP स्क्रिप्टिंग भाषा:

init.sqsमिशन फ़ोल्डर में के रूप में सहेजें , फिर इसके साथ कॉल करें hint format["%1", 2 call F]

नतीजा: यहाँ छवि विवरण दर्ज करें


ठीक है, यह बहुत अच्छा है। आप उस स्क्रैचिंग लैंग का उपयोग करने के बारे में कैसे सोचेंगे?
R

@ रिकर ऑपरेशन फ्लैशप्वाइंट हमेशा मेरे पसंदीदा खेलों में से एक था; मैं इसकी स्क्रिप्टिंग भाषा के साथ इसमें बहुत सारी चीजें करता था।
स्टेयडबॉक्स


3

> <> / जेली , 9 बाइट्स (7 बाइट्स कोड + 2 '-v' फ्लैग इन> <>) के लिए

यार, मैं वास्तव में जेली लिंक संरचना के साथ मज़े कर रहा हूं।

:*n;
½

> <> में वर्ग की गणना करता है , और जेली में वर्गमूल ।


क्या आपको जेली में -v का उपयोग नहीं करने की अनुमति है?
R

इस मामले को संभालने वाले मेटा क्वॉस्टियन पर -v[शीर्ष मत वाले उत्तर] ( codegolf.meta.stackexchange.com/a/11431/44874 ) के अनुसार, मेरी राय में इसका उपयोग होता है । ><>दुभाषिया कि जरूरत है -vऔर इस सरल संभव मंगलाचरण की वजह है।
steenbergh

3

पायथन 3 + जावास्क्रिप्ट, 101 बाइट्स

0//1or exec("function=lambda a:(lambda b:a);x=0")
y=2//2/2
f=(function(x)(x**y))//1 or(lambda x:x**y)

जेएस में स्क्वायर रूट, पायथन में स्क्वायर।

फ़ायरफ़ॉक्स पर काम करता है (FF 52 पर परीक्षण किया गया है) और (function(x) x)(42) === 42वैध सिंटैक्स होने की आवश्यकता है । **ऑपरेटर के लिए भी ES7 की आवश्यकता होती है ।


फ़ायरफ़ॉक्स पर परीक्षण किया गया है और यह काम कर रहा है। क्या इसके x=>x**yबजाय उपयोग करना संभव है ? या अजगर उस पर झपटा होगा?
इस्माईल मिगुएल

@IsmaelMiguel python एरो फंक्शनलिनो का समर्थन नहीं करता है।
R

यह अजगर के लिए काम नहीं करता है। फ़ंक्शन कोई कीवर्ड नहीं है।
R

यह वास्तव में कारगर है। चूंकि functionयह कोई कीवर्ड नहीं है, इसलिए यह एक मान्य पहचानकर्ता है। इसलिए मैंने अभी इसे ( execबयान के अंदर ) एक नूप फ़ंक्शन सौंपा ।
kjaquier

3

बैश और श, 48 बाइट्स

अपडेट: मुझे हार माननी चाहिए। डिजिटल ट्रॉमा का बैश / श जवाब इस से कहीं अधिक सुरुचिपूर्ण है।


bc -l<<<"sqrt($1^(($(kill -l|wc -l)*3-3)/7+1))"

बैश पैदा करता है n^2, श पैदा करता है sqrt(n)


bcकी जरूरत है ताकि sqrtगणना की जा सके। व्यवहार में अंतर बैश और श के बीच है।

ठीक है, तकनीकी रूप से "श" जो मैं उपयोग कर रहा हूं वह अभी भी बैश है, लेकिन "पॉसिक्स" मोड में बैश करें (जो तब होता है जब आप सिस्टम के /bin/shबजाय इनवॉइस करते /bin/bashहैं जहां /bin/shबैश के लिए एक उपनाम है)। यदि आपके सिस्टम पर ऐसा है, तो आप इसके साथ परीक्षण कर सकते हैं:

/bin/bash prog.sh 4
/bin/sh prog.sh 4

यह यहां बताए गए मतभेदों पर आधारित है: https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html


1
यह कैसे काम करता है?
ब्रायन मिंटन

2
@BrianMinton चलाने की कोशिश करें kill -l(संभावित संकेतों को सूचीबद्ध करता है; कुछ भी नहीं बदलता है) bashऔर में sh। यह कई अंतरों में से एक है जो आप यहां पा सकते हैं: gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
डेव

3

QBIC / QBasic, 26 18 बाइट्स

input a
?a^2'^.25

में QBasic , यह एक संख्या लेता है, और प्रिंट उस नंबर चुकता। बाकी कोड को अनदेखा कर दिया गया है क्योंकि QBasic इसे एक टिप्पणी ( ') के रूप में देखता है ।

QBIC उसी इनपुट स्टेटमेंट का उपयोग करता है। इसके बाद यह उसी संख्या को मुद्रित करने के लिए चला गया, फिर एक चौथाई की शक्ति के लिए उठाया, प्रभावी रूप से इसे दो बार जड़ दिया। ऐसा इसलिए है क्योंकि 'एक कोड शाब्दिक के रूप में देखा जाता है: शुद्ध QBasic कोड जिसे QBIC द्वारा पार्स नहीं किया गया है।


2

जेली / पिप , 6 बाइट्स

संपादित करें: यह उल्टे कार्यों के लिए एक बाइट है।

RTa
²

ऑनलाइन जेली का प्रयास करें!

जेली कोड (इसके 'मुख्य लिंक') के नीचे से निष्पादन शुरू करता है और देखता है कि क्या उसे कुछ अधिक की आवश्यकता है: यह कमांड को स्क्वायर में देखता है और इनपुट और आउटपुट का ध्यान रखता है।

पिप ऑनलाइन की कोशिश करो!

पिप शीर्ष रेखा को कार्यान्वित करता है, स्क्वायर्ड करता है (cmd लाइन से स्पष्ट रूप से पढ़ा जाता है) var का और अनुमानित प्रिंट। नीचे की रेखा को अनदेखा किया जाता है।


वैकल्पिक 6-बटर PRTaVS:।
स्टीनबेरग

2

वोल्फ्राम भाषा / PHP , 25 बाइट्स

वुल्फ्राम भाषा में एक नंबर का वर्ग प्राप्त करें और PHP में वर्गमूल प्राप्त करें;

n^2
echo sqrt(_GET["n"]);

पहली पंक्ति वोल्फ्राम भाषा है। सबसे पहले, आप वोल्फ्राम अल्फा में सर्चबार में n को बदलने वाले हैं, इसलिए कोड भी इनपुट है। फिर यह एंटर दबाने पर जवाब जेनरेट करेगा

n^2

दूसरी लाइन PHP है, इसे n का वर्गमूल मिलता है जिसे एड्रेस बार में इनपुट करना होता है (जैसे। ppcg.php.net?n=213, जहां 213 n का मान है)

echo sqrt($_GET["n"]);

1
PPCG में आपका स्वागत है! हालाँकि, आपको किसी तरह इनपुट लेना होगा। आप मान नहीं सकते कि संख्या एक चर में संग्रहीत है। उसके लिए माफ़ करना। आप स्वीकार्य i / o विधियों की सूची यहां देख सकते हैं। (जवाब पर सकारात्मक स्कोर का मतलब है कि यह अनुमति है, नकारात्मक का मतलब अनुमति नहीं है)
R

समझ गया। मैं सिर्फ अपना उत्तर संपादित करूंगा। :) एक और बात, मैं सिर्फ यह बताऊंगा कि वुल्फराम में इनपुट के लिए दूसरा कोड जोड़ना क्यों लागू नहीं है।
जिम्वेल अनोबोंग

मदद करने के लिए खुश! आशा है कि आप पीपीसीजी में चारों ओर चिपकेंगे!
R


1
वोल्फ्राम भाषा गणित पर आधारित है जिसे गैर-प्राकृतिक तरीके से टाइप करने के लिए गणितीय सूत्र की आवश्यकता होती है। एक और बात, उत्तर देने वाला इसे साफ करता है, इसकी वेबसाइट जो भाषा नहीं है, लेकिन भेड़िया भाषा वह भाषा है जो इसका समर्थन करती है। वुल्फर्सम लैंग्वेज और वुल्फ्रामएल्फा प्रत्येक टोहेर से संबंधित है लेकिन समान नहीं है। यह पूरी तरह से अलग है।
जिमवेल एनोबॉन्ग

2

PHP 5.6 और PHP 7, 55 बाइट्स

function f($n){list($a[],$a[])=[.5,2];echo $n**$a[0];}

PHP 5.6 का उत्पादन n^2, PHP 7 का उत्पादन करता है sqrt(n)


2

macOS बैश और श, 24 बाइट्स

p=^4 :
bc<<<"sqrt($1)$p"

मैक पर, shहै bashPosix मोड में चल रहा है, और के अनुसार इस मामले में https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html :

POSIX विशेष बिलिन से पहले असाइनमेंट स्टेटमेंट बिलिन पूरा होने के बाद शेल वातावरण में बने रहते हैं

इस प्रकार sh, चर के चलने के बाद pमान होता है, लेकिन इसके लिए , चर का केवल मूल्य होता है जबकि इसे चलाया जाता है, और बाद में खाली होता है।^4:bashp:

अभी भी वास्तव bashमें कवर के तहत, कुछ बैशमिज़ जैसे कि <<<हेर्स्ट्रेस अभी भी बैश और श दोनों मामलों के लिए काम करते हैं।


बैश और डैश (और GNU बर्तन), 27

उबंटू 16.01 पर, shएक सिम्लिंक dashहै, जो <<<बगुले नहीं करता है । इसलिए हमारे पास इसके बजाय:

p=^4 :
echo "sqrt($1)$p"|bc

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


एक अलग मोड / env का अच्छा उपयोग!
प्रोग्रामर

यह मेरे संस्करण से बहुत बेहतर है!
डेव

1

ऑक्टेव / कार्डिनल , 28 बाइट्स

यह कार्यक्रम कार्डिनल में इनपुट को वर्ग करता है और ऑक्टेव में वर्गमूल प्राप्त करता है

 %:=t.
disp(sqrt(input("")))

इसे ऑनलाइन आज़माएं! (सप्टक)

इसे ऑनलाइन आज़माएं! (कार्डिनल)

अतः ओक्टेव में% सिंगल लाइन टिप्पणी है इसलिए यह केवल इनपुट प्राप्त करता है और वर्गमूल को प्रिंट करता है

disp(sqrt(input("")))

ताकि कार्डिनल प्रोग्राम 0 एरर और डायट, प्रोग्राम से डिवाइड का सामना न करे

%:=t.

एक स्थान के साथ स्थानांतरित कर दिया गया है, जिसे दोनों कार्यक्रमों द्वारा अनदेखा किया गया है

कार्डिनल कार्यक्रम की व्याख्या:

कार्यक्रम% पर शुरू होता है
यह इनपुट प्राप्त करता है और मूल्य को सक्रिय के रूप में संग्रहीत करता है:
यह निष्क्रिय को सक्रिय के बराबर होने के लिए सेट करता है =
यह निष्क्रिय टी द्वारा सक्रिय को गुणा करता है
अंत में यह सक्रिय मूल्य को आउटपुट करता है।


1

PHP / जावास्क्रिप्ट, 43 बाइट्स

<body onload=alert(<?=$x*$x.')>'.sqrt($x)?>

इनपुट इस प्रकार है:

<?php $x = 10; ?>

किंडा आत्म-व्याख्या करता है, लेकिन क्या यह नियमों के अनुकूल है? मेरा पहला कोड गोल्फ थो :-)


1
गोल्फ में आपका स्वागत है! इनपुट एक फ्लोट या एक स्ट्रिंग होना चाहिए जो केवल एक फ्लोट है। अगर मैं सही तरीके से समझूं, तो इसके लिए अलग से इनपुट की जरूरत होती है।
प्रोग्रामर

क्या आप वाकई जावास्क्रिप्ट के रूप में चलते हैं? ऐसा लगता है कि दोनों संस्करणों को एक PHP प्रसंस्करण चरण की आवश्यकता है (जावास्क्रिप्ट को नहीं पता होगा कि क्या करना है alert(<?=$x*$x.')>'.sqrt($x)?)
डेव

0

CGL (CGL गोल्फिंग भाषा) / JS (ES6), 13 बाइट्स (गैर-प्रतिस्पर्धात्मक)

गैर-प्रतिस्पर्धात्मक क्योंकि:

  1. इस सवाल के बाद सीजीएल जारी किया गया था।
  2. CGL एक मान्य भाषा नहीं है । की वजह से और , CGL तकनीकी रूप से एक वैध भाषा है।

कोड:

 x=>x**2
//-₂

जे एस:

सरल: एक अनाम तीर फ़ंक्शन जो अपने पहले तर्क को चुकता करता है। अनाम भाषा कोड पर टिप्पणी की गई है।

CGL:

नॉन-ब्रेकिंग स्पेस पहली पंक्ति से पहले एक टिप्पणी की तरह कार्य करता है। /कोई-ऑप्स कर रहे हैं। -दूसरी पंक्ति में वर्तमान ढेर संख्या है, जो डिफ़ॉल्ट रूप से 0. है तो -1, जहां इनपुट संग्रहीत किया जाता है करने के लिए यह सेट यही कारण है कि घटती का मतलब है। इसके वर्गमूल, जो अब वह जगह है जहाँ इनपुट रख दिया गया है के साथ मौजूदा ढेर में पहला आइटम बदल देता है। डिफ़ॉल्ट रूप से, वर्तमान स्टैक आउटपुट होता है, इनपुट के वर्गमूल को आउटपुट करता है।


यह 13 बाइट्स है। मुझे CGL के बारे में पता नहीं है, लेकिन मैं काफी निश्चित हूं कि JS ascii / utf-8 का उपयोग करता है। CGL शायद UTF-8 का भी उपयोग करेगा, जब तक कि उसका अपना कोडपेज न हो।
R

@ रिकर अभी के लिए, यह ascii / utf-8 का उपयोग करता है। धन्यवाद।
प्रोग्रामर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.