क्या मेरा त्रिकोण सही है?


47

a, b, cत्रिभुज की तीन भुजाओं की लंबाई को देखते हुए , कहें कि त्रिभुज समकोण है (अर्थात 90 डिग्री के बराबर एक कोण है) या नहीं।

इनपुट

किसी भी क्रम में तीन सकारात्मक पूर्णांक मान

उत्पादन

या तो एक विशिष्ट सच निर्गम ( true, 1, yes, ...) या एक विशिष्ट झूठी निर्गम ( false, 0, no, ...)

उदाहरण

5, 3, 4        --> yes
3, 5, 4        --> yes
12, 37, 35     --> yes
21, 38, 50     --> no
210, 308, 250  --> no

नियम

  • इनपुट और आउटपुट किसी भी सुविधाजनक प्रारूप में दिए जा सकते हैं ।
  • अपने सबमिशन में, कृपया सच्चे और झूठे मूल्यों का उल्लेख करें।
  • नकारात्मक मान या अमान्य किनारे ट्रिपल को संभालने की आवश्यकता नहीं है
  • या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं। यदि कोई फ़ंक्शन है, तो आप इसे प्रिंट करने के बजाय आउटपुट वापस कर सकते हैं।
  • यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
  • मानक खामियों को मना किया जाता है।
  • यह इसलिए सभी सामान्य गोल्फिंग नियम लागू होते हैं, और सबसे छोटा कोड (बाइट्स में) जीतता है।

1
क्या हमें नकारात्मक मान या अमान्य किनारे ट्रिपल को संभालना चाहिए?
user202729 14

2
बहुत संबंधित । मैं यह तय करने के लिए इसे समुदाय के बाकी हिस्सों तक छोड़ दूंगा कि क्या यह एक दम है।
डिजिटल ट्रॉमा

2
मुझे लगता है कि लंबाई के बजाय निर्देशांक का उपयोग करने से चुनौती काफी बदल जाती है
लुइस मेंडो

8
लंबाई के साथ कोई त्रिकोण नहीं है 21, 38, 5, क्योंकि 21 + 5 <38 । क्या यह एक जानबूझकर रोग संबंधी मामला है जिसे हमें संभालना है?
केविन

1
@ केविन नहीं, आपको इस मामले को नहीं संभालना है। User202729 ने यह प्रश्न पहले ही पूछ लिया है :)
mdahmoune

जवाबों:


37

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

²µSHe

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

तकनीकी नोट: बाइट्स की गिनती जेली कोडपेज में की जाती है।

स्पष्टीकरण:

²µSHe  Main link.
²      Square each number.
 µ     With the new list,
  S    calculate its sum,
   H   and halve it.
    e  Check if the result exists in the new list (squared input)

समस्या तीन नंबर दिए जाने के बराबर है a, b, c, और यह पूछने पर कि क्या इस तरह का कोई परमीशन है a² + b² = c²। यह (a² + b² + c²) ÷ 2एक में से एक के बराबर है a², b² or c², इसलिए कार्यक्रम सिर्फ यह जांचता है।


अच्छा ... मैं जेली।
फेलिक्स गगनोन-ग्रेनियर

1
बस एक तकनीकी नोट: प्रतीकों ²और µलागत दो बाइट्स UTF-8 में, इसलिए आपके कोड में वास्तव में 7 बाइट्स हैं, 5 नहीं
चार्ली

2
@ चार्ली उत्तर स्पष्टीकरण के लिए संपादित।
user202729

20

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

a,b,c=sorted(input())
1/(a*a+b*b-c*c)

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

-2 FlipTack के लिए धन्यवाद । क्रेग गिदनी के
लिए धन्यवाद ।

निकास कोड ( 0= गलत, 1= सत्य) के माध्यम से आउटपुट ।


बाह। ठीक उसी उत्तर के साथ आया था। आप किसी भी परीक्षण के मामलों की संख्या के लिए अनुमति देने के लिए परीक्षण सूट को संशोधित कर सकते हैं: यहां देखें
mbomb007

@ mbomb007 हम्म exec(code), exec (code)इसके बजाय क्यों exec code? : डी; -पी
एरिक आउटगोल्फर

हाहा, इस जवाब से xnor के छोटे के अपोजिट को दोगुना कैसे होता है? हो सकता है कि लोगों को इसकी मीठी
सादगी पसंद आए

1
@ फीलटैक ¯_ (ツ) _ / also (पायथन 2 में भी xnor की नहीं)
आउटगॉल्फ

@EriktheOutgolfer क्योंकि बॉयलरप्लेट को वह हिस्सा नहीं है जो कि गोल्फ होना है। मैंने इसे बनाया इसलिए यह या तो पायथन 2 या 3 में काम
करेगा

17

जावा 8, 44 बाइट्स

(a,b,c)->(a*=a)+(b*=b)==(c*=c)|a+c==b|b+c==a

स्पष्टीकरण:

इसे यहाँ आज़माएँ।

(a,b,c)->                // Method with three integer parameters and boolean return-type
  (a*=a)+(b*=b)==(c*=c)  //  Return if `a*a + b*b == c*c`
  |a+c==b                //  or `a*a + c*c == b*b`
  |b+c==a                //  or `b*b + c*c == a*a`
                         // End of method (implicit / single-line return-statement)

क्या यह कोष्ठक के बिना काम करता है (c*=c)? *=अधिक precidence हो सकता है ==और आप दो बाइट्स बचा सकता है।
corsiKa

@ corsiKa मुझे डर है कि यह दूसरा रास्ता है। ==पूर्वता है *==, +=, *=, और इसी तरह के कार्य वास्तव में है जावा ऑपरेटरों में सबसे कम पूर्वता
केविन क्रूज़सेन

कुछ भी छोटा नहीं मिल सकता ... मैंने aबिना किसी सफलता के (उदाहरण के लिए) अधिकतम मूल्य को देने के लिए वैरिएबल स्वैप करने की कोशिश की । ठीक है, मैं इसे कर सकता था, लेकिन लगभग 65 अक्षर ...
ओलिवियर ग्रेजायर

12

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

1 बाइट की बचत की और @Neil को एक बग धन्यवाद दिया

3 पूर्णांकों की एक सरणी के रूप में इनपुट लेता है। trueसमकोण और falseअन्यथा के लिए रिटर्न ।

a=>a.some(n=>Math.hypot(...a,...a)==n*2)


मूल संस्करण, 44 बाइट्स

3 पूर्णांकों के रूप में इनपुट लेता है। 1समकोण और 0अन्यथा के लिए रिटर्न ।

(a,b,c)=>(a*=a)+(b*=b)==(c*=c)|a+c==b|b+c==a

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


लगता है कि हम ठीक उसी जवाब के साथ आया था (के अलावा =>और ->जावास्क्रिप्ट और जावा 8 के बीच अंतर)। ;) इतना स्पष्ट +1 मुझसे।
केविन क्रूज़सेन

>>1असुरक्षित है, यह सही है [1, 1, 1]
नील

2
कैसे के बारे में Math.hypot(...a,...a)==n*2?
नील

बहुत अच्छा ठीक @Neil :)
Arnauld

2
@ नील ~="
रौली


7

त्रिकोणीय , 57 बाइट्स

मैंने अभी तक इस भाषा में कोई भी नहीं देखा है और यह एक प्रयास करने और करने के लिए उपयुक्त लग रहा था। थोड़ा सा समय लगा ... जैसा कि मुझे पहले इसके चारों ओर अपना सिर प्राप्त करना था और मेरा मानना ​​है कि यह कुछ और हो सकता है।

,$\:$:*/%*$"`=P:pp.0"*>/>-`:S!>/U+<U"g+..>p`S:U/U"p`!g<>/

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

यह निम्नलिखित त्रिकोण का विस्तार करता है।

          ,
         $ \
        : $ :
       * / % *
      $ " ` = P
     : p p . 0 "
    * > / > - ` :
   S ! > / U + < U
  " g + . . > p ` S
 : U / U " p ` ! g <
> /

रास्ता काफी जटिल है, लेकिन मैं कोशिश करता हूं और समझाता हूं कि मैंने क्या किया है। मैं दिशात्मक संकेत छोड़ दूंगा। अधिकांश कोड स्टैक हेरफेर है।

  • $:* पहले इनपुट को स्क्वायर करें।
  • $:* दूसरा इनपुट स्क्वायर करें।
  • S":Ug! यदि दूसरा मान पहले से अधिक है तो परीक्षण करें।
    • सच p" स्वैप के साथ पहले।
    • झूठा p करो कुछ नहीं।
  • $:* तीसरा इनपुट स्क्वायर करें।
  • P":USg! यदि तीसरा मान पिछले से सबसे बड़ा है तो परीक्षण करें।
    • p+U-वर्तमान स्टैक का सही योग और संग्रहीत तीसरा मान लें
    • झूठी p"U+- राशि कम से कम और संग्रहीत तीसरी और सबसे बड़ी से घटाना
  • 0=% शून्य और आउटपुट परिणाम के लिए परीक्षण समानता।

6

हास्केल ( 33 32 31 बाइट्स)

(\x->(sum x)/2`elem`x).map(^2)

मूल संस्करण:

(\x->2*maximum x==sum x).map(^2)

अनाम फ़ंक्शन। फॉर्म में एक सूची लेता है [a, b, c]। सच या गलत आउटपुट।

यदि चौकों का योग अधिकतम वर्ग से दोगुना है, तो पहले संस्करण की जाँच की गई।

दूसरा, अगर संस्करण का आधा योग वर्गों की सूची में एक तत्व है, तो थोड़ा बेहतर संस्करण जांचता है।

संपादित करें: गलती से एक नई पंक्ति गिना, धन्यवाद H.PWiz


1
साइट पर आपका स्वागत है! यह उत्तर केवल 32 बाइट्स का है, हो सकता है कि आपने एक अतिरिक्त न्यूलाइन गिना हो?
२०:२० बजे H.PWiz

3
आप यहां
H.PWiz

इसके अलावा, आसपास के कोष्ठकों sumको फेंक दिया जा सकता है। अच्छा समाधान!
प्रचलित हैकेलर

6

पर्ल 6 , 24 बाइट्स

{(*²+*²==*²)(|.sort)}

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

*²+*²==*²एक अनाम फ़ंक्शन है, जो कि सत्य है यदि इसके पहले दो तर्कों के वर्गों का योग इसके तीसरे तर्क के वर्ग के बराबर है। हम इस फ़ंक्शन को सॉर्ट की गई इनपुट सूची पास करते हैं, इसे तर्क सूची में समतल करते हैं |


6

आर , 31 26 30 बाइट्स

cat(sum(a<-scan()^2)/max(a)==2)

मुझे यह उतना पसंद नहीं है, लेकिन यह कम है। वर्गों को विभाजित करता है और सबसे बड़े वर्ग द्वारा विभाजित करता है। सत्य यदि २।

पिछला संस्करण (बिल्ली और @ गुइसेप्स टिप के साथ संशोधित)

cat(!sort(scan())^2%*%c(1,1,-1))

अंतिम आइटम के साथ सॉर्ट किए गए इनपुट की एक राशि को नकार दें और वापस !न करें।

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


आपके पिछले संस्करण के लिए, !sort(scan())^2%*%c(1,1,-1)27 बाइट्स हैं। लेकिन मुझे लगता है कि आपको अभी भी एक की जरूरत है cat
ग्यूसेप

चीयर्स @ जीसेप, बिल्ली के बारे में भूल गए। आरईपीएल के आसपास के नियम मुझे परेशान करते हैं, लेकिन वे वही हैं जो वे हैं।
मिकी

मैट्रिक्स गुणन के साथ @Giuseppe भी अच्छा मोड़। मैं कभी उसके साथ नहीं आया होता।
मिकी

6

ब्रेन-फ्लैक , 68 बाइट्स

({({({})({}[()])}{}<>)<>})<>({<(({}){}<>[({})])>(){[()](<{}>)}{}<>})

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

उपयोगकर्ता 202729 के उत्तर में अवलोकन का उपयोग करता है।

 {                      }      for each input number
   {({})({}[()])}{}            compute the square
  (                <>)<>       push onto second stack
(                        )     push sum of squares onto first stack
                          <>   move to second stack

 {                                    }    for each square
   (({}){}<>[({})])                        compute 2 * this square - sum of squares
  <                >(){[()](<{}>)}{}<>     evaluate loop iteration as 1 iff equal
(                                      )   push 1 if any squares matched, 0 otherwise

5

सी (जीसीसी) , 49 बाइट्स

n(a,b,c){return(a*=a)+(b*=b)-(c*=c)&a+c-b&b+c-a;}

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

केविन क्रूज़ेंसेंस तकनीक में सुधार

मान्य त्रिकोण के लिए 0 लौटाता है, और अन्यथा शून्य-शून्य मान


3
PPCG में आपका स्वागत है!
caird coinheringaahing

यदि आप बिटवाइज़ ऑपरेशंस का उपयोग कर रहे हैं तो क्या यह हमेशा काम करता है?
l4m2


4

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

lambda a,b,c:(a*a+b*b+c*c)/2in(a*a,b*b,c*c)

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

पायथन 2 , 79 70 68 62 बाइट्स

lambda*l:any(A*A+B*B==C*C for A,B,C in zip(l,l[1:]+l,l[2:]+l))

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


इनपुट्स को पूर्णांक तक सीमित करने के लिए चुनौती को अद्यतन किया गया था।
मार्टिन एंडर


14
A*Aछोटा है ...
सुकराती फीनिक्स

68 बाइट्स tio.run/…
mdahmoune

@ म्हदमुने 67 बाइट्स ; सत्य मूल्य के अर्थों को छोड़कर और -इसके बजाय का उपयोग करना ==
जोनाथन फ्रेच

4

सी,  68  54 बाइट्स

User202729 के समाधान का उपयोग करना ।

f(a,b,c){return!((a*=a)+(b*=b)-(c*=c)&&a-b+c&&a-b-c);}

14 बाइट्स में गोल्फ के लिए @Christoph का धन्यवाद!

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

सी, 85 बाइट्स

#define C(a,b,c)if(a*a+b*b==c*c)return 1;
f(a,b,c){C(a,b,c)C(b,c,a)C(c,a,b)return 0;}

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


जिन 1मापदंडों के लिए आउटपुट 1, 1, 1गलत है ...
नील

@ नील यह अब तय हो गया है।
स्टेडीबॉक्स

प्रश्न का उपयोग करने के लिए अद्यतन किया गया था, कुछ बाइट्स बचा सकता है।
corsiKa

f(a,b,c){a=!((a*=a)+(b*=b)-(c*=c)&&a-b+c&&a-b-c);}
क्रिस्टोफ


4

जे, 10 बाइट्स

-6 बाइट्स FrownyFrog के लिए धन्यवाद

=`+/@\:~*:

मूल उत्तर

(+/@}:={:)@/:~*:

/:वर्गों को सॉर्ट करें *:, फिर जांचें कि पहले दो का योग +/@}:अंतिम के बराबर है या नहीं{:

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


यह बहुत ही चालाक है
योना

4

त्रिकोणीयता ,  49  31 बाइट्स

...)...
..IEO..
.M)2s^.
}Re+=..

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

व्याख्या

प्रत्येक त्रिकोणीयता कार्यक्रम में त्रिकोणीय पैडिंग (वाक्य का बहाना) होना चाहिए। यही है, प्रोग्राम के नीचे से आई वें लाइन की गिनती को प्रत्येक तरफ i - 1 डॉट्स ( .) के साथ गद्देदार किया जाना चाहिए । डॉट-त्रिकोण सममित और सौंदर्यपूर्वक सुखद रखने के लिए, प्रत्येक पंक्ति में 2L - 1 वर्ण शामिल होना चाहिए , जहां एल कार्यक्रम में लाइनों की संख्या है। वर्णों को हटाने के लिए जो आवश्यक पैडिंग के लिए हैं, यहां बताया गया है कि कोड कैसे काम करता है:

)IEOM)2s^}Re+=     Full program. Input: STDIN, Output: STDOUT, either 1 or 0.
)                  Pushes a zero onto the stack.
 IE                Evaluates the input at that index.
   O               Sorts the ToS (Top of the Stack).
    M)2s^}         Runs the block )2s^ on a separate stack, thus squaring each.
          R        Reverse.
           e       Dump the contents separately onto the stack.
            +      Add the top two items.
             =     Check if their sum is equal to the other entry on the stack (c^2).

यदि त्रिभुज में त्रिभुज समकोण है, तो यह जाँचना ...


3

पॉवरशेल , 39 बाइट्स

$a,$b,$c=$args|sort;$a*$a+$b*$b-eq$c*$c

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

इनपुट को सॉर्ट करता है, जिसे $a,$b,$cवैरिएबल में स्टोर करता है। फिर पाइथागोरस प्रमेय का उपयोग करता है कि क्या जाँच करें a*a + b*b = c*c। आउटपुट या तो बूलियन है Trueया False


3

जावास्क्रिप्ट 34 बाइट्स (बिना डी =)

D=(d,[a,b,c]=d.sort())=>a*a+b*b==c*c

console.log(D([5, 3, 4       ])== true)
console.log(D([3, 5, 4       ])== true)
console.log(D([12, 37, 35    ])== true)
console.log(D([21, 38, 5     ])== false)
console.log(D([210, 308, 15  ])== false)


मेरे पास 34: a=>a.sort()[0]**2+a[1]**2==a[2]**2ES6 में ऐसा ही जवाब था । तो आप के लिए सहारा @DanielIndie
WallyWest

1
दुर्भाग्यवश, sort()जब कोई कॉलबैक प्रदान नहीं किया जाता है, तो लेक्सोग्राफिक ऑर्डर का उपयोग करता है, जिससे यह कोड उदाहरण के लिए विफल हो जाता है [10,6,8]
अरनौलड

3

RProgN 2 , 10 बाइट्स

§²2^r]‘\+e

व्याख्या की

§²2^r]‘\+e
§           # Sort the input list
 ²2^r       # Square each element in the list.
     ]      # Duplicate it on the reg stack.
      ‘     # Pop the top (largest) element off it
       \+   # Swap it, sum the rest of the list.
         e  # Are they equal?

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


सूची की नकल क्यों?
mdahmoune

@mdahmoune RProgN2 किसी तत्व को पॉपअप करने पर स्टैक पर मूल सूची नहीं रखता है, लेकिन संदर्भ के अनुसार स्टैक होते हैं, इसलिए स्टैक को रखने के लिए इसके योग भाग को रखने के लिए, इसे पहले डुप्लिकेट करने की आवश्यकता होती है।
अताको

Thanx upvote;)
mdahmoune

3

रैकेट , 64 60 बाइट्स

(λ(a b c)(=(+(* a a)(* b b)(* c c))(*(expt(max a b c)2)2)))

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

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

टेस्ट करता है, तो a^2 + b^2 + c^2यह है की दो बार सबसे बड़ा के बराबर a^2, b^2और c^2

#tसही त्रिकोण और #fअन्य सभी इनपुट के लिए रिटर्न ।


  • -4 बाइट्स @ xnor के सुझाव का उपयोग करने के लिए धन्यवाद expt

बहुत बढ़िया;) लेकिन मुझे लगता (define funहै कि कोड का एक हिस्सा होना चाहिए ...
mdahmoune

धन्यवाद! मुझे लगता है कि यह कहना पारंपरिक है कि शुद्ध कार्यों को उत्तर के रूप में अनुमति दी जाती है। (define fun ...)TIO पर बस सुविधा के लिए है: हम समान रूप से और साथ ही इस सुविधा का उपयोग कर सकता है (... 3 4 5), जहां ...कार्य है। (इसलिए अगर आप चाहें तो हमारे पास एक हेडर (print (और एक पाद हो सकता है 3 4 5))।)
मिशा लावरोव

(लेकिन यह मेरे पहले रैकेट सबमिशन में से एक है, इसलिए मैं रैकेट-विशिष्ट सम्मेलनों के बारे में बहुत स्पष्ट नहीं हूं, यदि कोई हो। रैकेट का उपयोग करने वाले कुछ पिछले समाधानों #lang racketको कोड में शामिल किया गया है; कुछ नहीं।)
मैथ्यू लावरोव

1
रैकेट इतना बुरा है कि यह (max a b c)एक letबाध्यकारी, हुह की तुलना में दोहराने के लिए छोटा है? मुझे नहीं लगता कि यह एक तर्क के रूप में बाध्य करने के लिए छोटा होगा λ? या, वहाँ एक घातांक निर्मित नहीं है?
xnor

2
@ मिशालारोव फिर कैसे (*(expt(max a b c)2)2)?
xnor

3

पहला उदाहरण यह पता लगाने में विफल है कि [1,1,1] एक वैध इनपुट (कुछ अन्य प्रयासों पर सामान्य मुद्दा) नहीं है, लेकिन दूसरा ठीक काम करता है।
निक लॉफलिन

@NickLoughlin उफ़, पहला उदाहरण निकाल दिया
ओक्सएक्स

आप n{RÆ_एक बाइट को बचाने के लिए कर सकते हैं ।
एमिग्ना

3

रूबी, 31 बाइट्स

->a{a,b,c=*a.sort;a*a+b*b==c*c}

3 पूर्णांकों की सूची के रूप में इनपुट लेता है। अन्य समाधानों से कुछ विचारों का उपयोग करता है।


मुझे अभी जवाब मिला कि मैंने अभी जो पोस्ट किया है वह लगभग आपके लिए समान है। मैं वादा करता हूं कि मैंने आपकी नकल नहीं की (मैं वास्तव में "पोस्ट अ उत्तर" बॉक्स में थोड़ी देर के लिए बैठा था), लेकिन जब से तुम्हारा पहला सबमिट किया गया है, अगर आपको लगता है कि मेरा बहुत करीब है, तो मैं इसे हटा दूँगा।
Inotnotmaynard

@iamnotmaynard यह बहुत ही एक ही बात है। यह एक अजीब संयोग था। मुझे बताने के लिए धन्यवाद
dkudriavtsev

यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
mdahmoune

3

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

!x=xx2x.*x

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

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

आज्ञा देना एक्स = [ए, बी, सी]

x⋅xx और खुद का डॉट उत्पाद है, इसलिए यह a² + b² + c x देता है

2x.*x2x और x का तत्व-वार उत्पाद है , इसलिए इसका उत्पादन [2a 2, 2b-, 2c²] होता है

अंत में, परीक्षण करता है कि पूर्णांक a² + b tests + c to वेक्टर [2a if, 2b², 2c inte] से संबंधित है , जो कि iff
a² + b + c² = 2a² या a² + b² / c² = 2b² या a² + b² + c² = 2c inte है या नहीं। , जो स्वयं सही है अगर
if b² + c itself = a² या a² + c² = b² या a if + b² = ²


3

जावा (ओपनजेडके 8) , 68 बाइट्स

a->{java.util.Arrays.sort(a);return a[0]*a[0]+a[1]*a[1]==a[2]*a[2];}

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


क्या आप एक सरणी के बजाय करी का उपयोग करके कुछ बाइट्स बचा सकते हैं?
AdmBorkBork 15

1
@AdmBorkBork नहीं, क्योंकि sortएक सरणी लेता है।
ओलिवियर ग्रेजायर

3

टीआई-बेसिक, 13 11 10 बाइट्स

max(Ans=R►Pr(min(Ans),median(Ans

अब किसी भी क्रम में इनपुट के लिए काम करता है और साथ ही छोटा होता है। एक और -1 @MishaLavrov के लिए धन्यवाद


यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
mdahmoune

यह केवल पहचान लेता है समकोण त्रिकोण अनुसार क्रमबद्ध: इनपुट के A=5, B=4, C=3ठीक से समाधान नहीं किया जाएगा।
मिशा लावरोव

@MishaLavrov यह इंगित करने के लिए धन्यवाद, यह वास्तव में एक सूची के रूप में कम संभाल रहा है। अब यह किसी भी क्रम में इनपुट के लिए काम करता है।
टाइमटेक

यदि हम किसी एक को छोड़ देते हैं ), तो max(Ans=R►Pr(min(Ans),median(Ansयह भी मान्य है (हालांकि हम जो गणना यहां कर रहे हैं वह अलग है) और एक बाइट कम है।
मिशा लावरोव

@ मिशालारोव दिलचस्प है, मैं देख रहा हूं कि आपका क्या मतलब है। मुझे लगता है कि सभी गैर-नकारात्मक इनपुट के लिए भाव समान हैं।
टिमटेक

3

CJam, 9

q~$W%~mh=

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

स्पष्टीकरण:

q~      read and evaluate the input (given as an array)
$W%     sort and reverse the array
~       dump the array on the stack
mh      get the hypotenuse of a right triangle with the given 2 short sides
=       compare with the longer side

कुछ स्पष्टीकरण?)
mdahmoune

@mdahmoune यहाँ आप जाने
aditsu

धत तेरे की। क्या आपने वह भाषा नहीं लिखी है? उचित नहीं लगता। (मजाक)
०१ पर kaine

3

परी / जीपी , 29 24 बाइट्स

f(v)=v~==2*vecmax(v)^2

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

से एक स्पष्ट परिवर्तन से पाँच बाइट्स सहेजा norml2(v)करने के लिए v*v~

अन्य उत्तरों से प्रेरित।

यहां तीन वेक्टर के साथ vएक पंक्ति वेक्टर या एक कॉलम वेक्टर होना चाहिए ।

उपयोग का उदाहरण: f([3,4,5])

बेशक, आपको तर्कसंगत पक्ष लंबाई मुफ्त में मिलती है, उदाहरण के लिए f([29/6, 10/3, 7/2])

यदि मैं उस f(v)=भाग को नहीं गिनता , तो वह 19 बाइट्स है। पहला भाग भी लिखा जा सकता है v->(कुल 22 बाइट्स)।

स्पष्टीकरण: के तीन निर्देशांक तो vकर रहे हैं x, yऔर z, फिर से उत्पाद vऔर उसके पक्षांतरित v~एक अदिश देता है x^2+y^2+^z^2, और हम है कि अगर निर्देशांक की अधिकतम दो बार वर्ग के बराबर है जांच करने की आवश्यकता x, y, z

अतिरिक्त: यदि आपके इनपुट वेक्टर में चार निर्देशांक हैं, और इसी तरह fएक पाइथोगोरियन चौगुनी के लिए एक ही परीक्षण ।


यदि संभव हो, तो कृपया ऑनलाइन परीक्षण वातावरण का लिंक शामिल करें ताकि अन्य लोग आपके कोड को आज़मा सकें!
mdahmoune

@mdahmoune आप इस tio.runलिंक का उपयोग कर सकते हैं । हालाँकि, यह स्थानीय रूप से PARI / GP स्थापित करने के लिए बहुत अच्छा है ।
जेपी स्टिग नीलसन

3

एमएस एक्सेल, 49 बाइट्स

बेनामी वर्कशीट फ़ंक्शन जो रेंज [A1: C1] से इनपुट लेता है और कॉलिंग सेल को आउटपुट करता है।

=OR(A1^2+B1^2=C1^2,B1^2+C1^2=A1^2,A1^2+C1^2=B1^2)

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