태그 보관물: rational-numbers

rational-numbers

라일리 정리 년 정리를 증명했습니다. 모든

S. Ryley는 1825 년 정리를 증명했습니다.

모든 합리적인 숫자는 세 개의 합리적인 큐브의 합으로 표현 될 수 있습니다.

도전

일부 유리수 주어

r∈Q

세 유리수를 찾을 , B , C Q 되도록 R은 = 3 + B (3) + (C) 3 .

a,b,c∈Q

r=a3+b3+c3.

세부

제출물은 충분한 시간과 메모리가 주어진 경우 모든 입력에 대한 솔루션을 계산할 수 있어야합니다. 즉 int, 분수를 나타내는 두 개의 32 비트 가 충분하지 않습니다.

30=39829338766813−6366005495153−3977505554546352=607029013173+239612924543−6192271286533071728=(12)3+(13)3+(14)30=03+03+031=(12)3+(23)3+(56)342=(1810423509232)3+(−1495210609)3+(−25454944)3



답변

Pari / GP , 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]

온라인으로 사용해보십시오!


이 공식은 다음과 같습니다 :
Richmond, H. (1930). x 3 + y 3 + z 3 = 의 합리적 솔루션에서

x3+y3+z3=R

. 에든버러 수학 학회지, 2(2), 92-100.

r=(27r3+127r2−9r+3)3+(−27r3+9r−127r2−9r+3)3+(−27r2+9r27r2−9r+3)3

온라인으로 확인하십시오!


답변

하스켈 , 95 89 76 69 68 바이트

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

온라인으로 사용해보십시오!

간단한 무차별 솔루션. 이 형태의 유리수의 모든 트리플 테스트

(a1n,a2n,a3n)with −n≤ain≤n.

  • (a1n1,a2n2,a3n3)=(a1n2n3n1n2n3,a2n1n3n1n2n3,a3n1n2n1n2n3).


  • −n≤ain≤n

    ain=aiNnN

    N


답변

껍질 , 14 바이트

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

간단한 무차별 대입 솔루션.
온라인으로 사용해보십시오!

설명

Husk의 Division은 기본적으로 유리수를 사용하며 직교 제품은 무한리스트에 대해 올바르게 작동하므로 매우 간단한 프로그램입니다.

ḟ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.

답변

자바 스크립트 (Node.js) , 73 바이트

로 입력을받습니다 (p)(q).

BigInt 리터럴입니다.

[[p1,q1],[p2,q2],[p3,q3]]그런 반환

피큐=(피1큐1)삼+(피2큐2)삼+(피삼큐삼)삼

.

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 Richmond (1930) 에서 파생되었으며 , x 3 + y 3 + z 3 = R의 합리적 솔루션 에서 파생되었습니다 .


답변

하스켈 , 70 바이트

에서는 숫자의 이론 입문 (하디 및 라이트에 의해), 심지어는 합리적인 파라미터를 포함한다는 구성이있다. 골프 목적으로이 매개 변수를 1로 설정하고 최대한 줄이려고했습니다. 결과는 공식입니다

아르 자형↦[아르 자형삼−648아르 자형2+77760아르 자형+37324872(아르 자형+72)2,12(아르 자형−72)아르 자형(아르 자형+72)2,−아르 자형2−720아르 자형+518472(아르 자형+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]

온라인으로 사용해보십시오!


답변

perl -Mbigrat -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에서 제공 한 공식을 사용하고 있습니다.


답변