रेली की प्रमेय


13

1825 में एस। राइली ने प्रमेय सिद्ध किया:

हर तर्कसंगत संख्या को तीन तर्कसंगत क्यूब्स के योग के रूप में व्यक्त किया जा सकता है।

चुनौती

कुछ तर्कसंगत संख्या को देखते हुए तीन तर्कसंगत संख्याएँ a, b, c \ in in mathbb Q को खोजें, जैसे कि r = a ^ 3 + b ^ 3 + c ^ 3।rQa,b,cQ

r=a3+b3+c3.

विवरण

आपका सबमिशन पर्याप्त समय और मेमोरी दिए गए प्रत्येक इनपुट के लिए एक समाधान की गणना करने में सक्षम होना चाहिए, इसका मतलब है कि दो 32-बिट intएक अंश का प्रतिनिधित्व करने के लिए पर्याप्त नहीं है।

उदाहरण

30=3982933876681363660054951533977505554546352=607029013173+2396129245436192271286533071728=(12)3+(13)3+(14)30=03+03+031=(12)3+(23)3+(56)342=(1810423509232)3+(1495210609)3+(25454944)3


1
मेरे पास कुछ ऐसा था जो जाप में काम आया था, लेकिन यह अक्सर "बहुत अधिक पुनरावृत्ति" त्रुटि में भाग गया। शायद इसलिए कि रणनीति "यादृच्छिक संख्याएं प्राप्त कर रही थीं, जब तक कि वे एक सही उत्तर न दें" फिर से प्रयास करें।
कामिल दकरी

1
अनावश्यक रूप से बहुत अधिक भाषाओं को छोड़कर, और / या उन्हें लागू करने के लिए बर्बाद
बायलरप्लेट की

2
@ शेपर यह एक जानबूझकर पसंद था, क्योंकि आउटपुट सरल इनपुट के लिए भी काफी "बड़े" हो सकते हैं, या आप किस विधि का उपयोग करते हैं, इस पर निर्भर करता है कि गणना में मध्यवर्ती मान भी बहुत बड़ा हो सकता है। तो मनमाने ढंग से सटीक संख्याओं के साथ काम करना इस चुनौती के लिए एक महत्वपूर्ण बिंदु था (और शायद अन्य संख्या-सिद्धांत -चैलेन्ज में भी अक्सर )।
दोष

1
क्या यह आउटपुट के लिए स्वीकार्य होगा [p1,p2,p3,q], इसकी व्याख्या ? (p1q)3+(p2q)3+(p3q)3
Arnauld

एक समान नस के साथ, आउटपुट किए गए तीन परिमेय संख्याओं को सरलतम रूप में होना चाहिए?
क्विंटेक

जवाबों:


10

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

r->[x=27*r^3+1,9*r-x,z=9*r-27*r^2]/(3-z)

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


समान लंबाई, समान सूत्र:

r->d=9*r^2-3*r+1;[x=r+1/3,3*r/d-x,1/d-1]

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


यह सूत्र इसमें दिया गया है: रिचमंड, एच। (1930)। तर्कसंगत समाधान पर । एडिनबर्ग गणितीय सोसायटी की कार्यवाही, 2 (2), 92-100।x3+y3+z3=R

r=(27r3+127r29r+3)3+(27r3+9r127r29r+3)3+(27r2+9r27r29r+3)3

इसे ऑनलाइन जांचें!


1
-5 बाइट्स क्योंकि आप सम्मन के आदेश को बदल सकते हैं
ब्लैक उल्लू काई

1
@BlackOwlKai दूसरे सम्मन का अंश है , not । 27r3+9r127r2+9r1
एलेफाल्फा

8

हास्केल , 95 89 76 69 68 बाइट्स

f x=[w|n<-[1..],w<-mapM(\_->[-n,1/n-n..n])"IOU",x==sum((^3)<$>w)]!!0

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

सरल bruteforce समाधान। यह फ़ॉर्म के सभी परिमेय संख्याओं के सभी परीक्षणों का परीक्षण करता है।

(a1n,a2n,a3n)with nainn.

  • हम हमेशा यह मान सकते हैं कि तीन तर्कसंगत संख्याओं में एक ही भाजक होता है, चूंकि
    (a1n1,a2n2,a3n3)=(a1n2n3n1n2n3,a2n1n3n1n2n3,a3n1n2n1n2n3).
  • हम हमेशा मान सकते हैं कि , चूंकि किसी भी मनमाने ढंग से बड़े ।nainn
    ain=aiNnN
    N

"IOU" क्या करता है?
सोलोमन उको

@SolomonUcko कुछ भी नहीं विशेष, यह लंबाई 3 के किसी भी अन्य सूची के रूप में अच्छा के रूप में है
Delfad0r

@ H.PWiz मैं मेटा पर कोई सहमति नहीं लिख सका कि क्या टाइप किए गए इनपुट को स्वीकार किया जाता है, लेकिन मुझे अभी भी उस धारणा के बिना कोड को छोटा करने का एक तरीका मिल गया है। धन्यवाद!
Delfad0r

4
@ Delfad0r एक "आम सहमति" है जिसे आपको एक संभावित आयात की गणना करने की आवश्यकता नहीं है, जो केवल आवश्यक प्रकार के निर्माण के लिए आवश्यक है, अगर आपको अपने फ़ंक्शन को परिभाषित करने के लिए उस आयात से स्पष्ट रूप से कुछ भी ज़रूरत नहीं है। (और आप मान सकते हैं कि सही प्रकार आपके फ़ंक्शन को पारित किया जाता है, जब इसे कहा जाता है।)
त्रुटी

1
एक बाइट का उपयोग करके बचाएं[-n,1/n-n..n]
क्रिश्चियन सेवर्स

6

भूसी , 14 बाइट्स

ḟo=⁰ṁ^3π3×/NİZ

सरल जानवर बल समाधान। इसे ऑनलाइन आज़माएं!

व्याख्या

भूसी में विभाजन डिफ़ॉल्ट रूप से तर्कसंगत संख्याओं का उपयोग करता है और कार्टेसियन उत्पाद अनंत सूचियों के लिए सही ढंग से काम करते हैं, जिससे यह एक बहुत ही सीधा कार्यक्रम बन जाता है।

ḟo=⁰ṁ^3π3×/NİZ
            İZ  Integers: [0,1,-1,2,-2,3,-3...
           N    Natural numbers: [1,2,3,4,5...
         ×/     Mix by division: [0,1,0,-1,1/2,0,2,-1/2,1/3...
                This list contains n/m for every integer n and natural m.
       π3       All triples: [[0,0,0],[0,0,1],[1,0,0]...
ḟ               Find the first one
    ṁ^3         whose sum of cubes
 o=⁰            equals the input.

2

जावास्क्रिप्ट (Node.js) , 73 बाइट्स

इनपुट के रूप में लेता है (p)(q), जहाँ और BigInt शाब्दिक हैं।pq

[[p1,q1],[p2,q2],[p3,q3]]ऐसे रिटर्न करता है कि ।pq=(p1q1)3+(p2q2)3+(p3q3)3

p=>q=>[x=p*(y=p*(p*=9n*q*q)*3n/q)/q+(q*=q*q),p-x,p-=y].map(x=>[x,3n*q-p])

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

HW रिचमंड (1930) से व्युत्पन्न , एक्स 3 + वाई 3 + जेड 3 = आर के तर्कसंगत समाधान पर


2

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

में नंबर की थ्योरी के लिए एक परिचय (हार्डी और राइट द्वारा) एक निर्माण कि यहां तक कि एक तर्कसंगत पैरामीटर शामिल है। गोल्फ उद्देश्यों के लिए मैंने अभी इस पैरामीटर को 1 पर सेट किया है, और जितना संभव हो उतना कम करने की कोशिश की है। इससे सूत्र बनता है

r[r3648r2+77760r+37324872(r+72)2,12(r72)r(r+72)2,r2720r+518472(r+72)]

f r|t<-r/72,c<-t+1,v<-24*t/c^3,a<-(v*t-1)*c=((a+v*c+c)/2-)<$>[a,v*c,c]

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


1

perl -Migigrat -nE, 85 बाइट्स

$_=eval;($a,$b)=($_*9,$_**2*27);$c=$b*$_;say for map$_/($b-$a+3),$c+1,-$c+$a-1,-$b+$a

$_=eval;यदि आप जानते हैं कि इनपुट एक पूर्णांक है तो आप 8 बाइट्स (अग्रणी ) बचा सकते हैं ; इस भाग को प्रोग्राम ग्रूप के रूप में इनपुट की आवश्यकता होती है 308/1728। इनपुट STDIN से पढ़ा जाता है। मैं @alephalpha द्वारा दिए गए सूत्र का उपयोग कर रहा हूं।

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