Codegolf - Теорема Райли

  • Автор темы Newbuyertraffic
  • Обновлено
  • 17, Oct 2024
  • #1

С. Райли доказал в 1825 году следующую теорему:

Любое рациональное число можно представить в виде суммы трех рациональных кубов.

Испытание

По некоторому рациональному числу \$r \in \mathbb Q \$ найдите три рациональных числа \$a,b,c \in \mathbb Q\$ такие, что $$r= a^3+b^3+c^3. $$

Подробности

Ваша заявка должна иметь возможность вычислить решение для каждого ввода, если при наличии достаточного количества времени и памяти это означает наличие, например, двух 32-битных int representing a fraction is not sufficient.

Примеры

$$ \begin{выравнивание}

30 &= 3982933876681^3 - 636600549515^3 - 3977505554546^3 \\

Newbuyertraffic


Рег
04 Sep, 2017

Тем
65

Постов
192

Баллов
527
  • 26, Oct 2024
  • #2

Париж/GP, 40 байт

 
 
 
 
 
 
 
 308/1728 

Попробуйте онлайн!


Та же длина, та же формула:

$_=eval;

Попробуйте онлайн!


Эта формула приведена в: Ричмонд, Х. (1930). О рациональных решениях задачи \$x^3+y^3+z^3=R\$. Труды Эдинбургского математического общества, 2.(2), 92-100.

$$r=\left(\frac{27r^3+1}{27r^2-9r+3}\right)^3+\left(\frac{-27r^3+9r-1}{27r^2 -9r+3}\right)^3+\left(\frac{-27r^2+9r}{27r^2-9r+3}\right)^3$$

Проверьте это онлайн!

 

Vova72


Рег
15 Feb, 2011

Тем
63

Постов
162

Баллов
487
  • 26, Oct 2024
  • #3

Хаскелл, 95 89 76 69 68 байт

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

Попробуйте онлайн!

Простое решение брутфорса. Он проверяет все тройки рациональных чисел вида

  • $$
  • \left(\frac{a_1}{n},\frac{a_2}{n},\frac{a_3}{n}\right)\qquad\text{with }-n\le\frac{a_i}{n }\ле н.
$$

Мы всегда можем предположить, что три рациональных числа имеют одинаковый знаменатель, поскольку$$

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]

\left(\frac{a_1}{n_1},\frac{a_2}{n_2},\frac{a_3}{n_3}\right)=\left(\frac{a_1n_2n_3}{n_1n_2n_3},\frac{a_2n_1n_3} {n_1n_2n_3},\frac{a_3n_1n_2}{n_1n_2n_3}\right). $$

Мы всегда можем считать, что \$-n\le\frac{a_i}{n}\le n\$, поскольку

$$

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]) ||answer||

\frac{a_i}{n}=\frac{a_iN}{nN}

$$ [[p1,q1],[p2,q2],[p3,q3]] , where \$p\$ and \$q\$ are BigInt literals.

для любого сколь угодно большого целого числа \$N\$. (p)(q) such that \$\frac{p}{q}=\left(\frac{p_1}{q_1}\right)^3+\left(\frac{p_2}{q_2}\right)^3+\left(\frac{p_3}{q_3}\right)^3\$.

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

 

Thank_you


Рег
21 Nov, 2009

Тем
69

Постов
198

Баллов
573
  • 26, Oct 2024
  • #4

Шелуха , 14 байт3 Простое решение грубой силы.3 Попробуйте онлайн!3 Объяснение.

Деление в Husk по умолчанию использует рациональные числа, а декартовы произведения корректно работают для бесконечных списков, что делает эту программу очень простой.

JavaScript (Node.js), 73 байтаПринимает ввод как

Возврат Попробуйте онлайн! Получено из

HW Richmond (1930), О рациональных решениях x

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

+ й

= Р

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

 

Joss


Рег
06 May, 2006

Тем
69

Постов
172

Баллов
527
  • 26, Oct 2024
  • #5
r->d=9*r^2-3*r+1;[x=r+1/3,3*r/d-x,1/d-1] ) if you know the input is an integer; this part is needed to have the program grok an input of the form r->[x=27*r^3+1,9*r-x,z=9*r-27*r^2]/(3-z) Хаскелл

 

Brechkomariyka


Рег
27 Nov, 2019

Тем
78

Постов
208

Баллов
628
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно