2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 13:19 


26/06/21

111
Booker48 в сообщении #1594076 писал(а):
Для больших $x$ программа не будет работать, нужна длинная арифметика, какие-то библиотеки подключать.
Как пример, при $x=622402679=24943\cdot 24953$ должно получиться ровно две тройки (из евклидовой параметризации), но программа выдаёт сотни троек.
Нельзя $y$ объявлять как $real$, будут накапливаться ошибки округления, проверки будут просто неправильно работать.


Чем тогда можно здесь объявить игрек?

А вот и третья тройка с конца:

622402679 26419834 622963163

Проверка:

388 083 102 454 964 569 – 698 007 628 587 556 = 387 385 094 826 377 013
и корень из разности: 622402679

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 13:36 


07/06/17
1159
Alek в сообщении #1594092 писал(а):
А вот и третья тройка с конца:

622402679 26419834 622963163

Проверка:

388 083 102 454 964 569 – 698 007 628 587 556 = 387 385 094 826 377 013
и корень из разности: 622402679

Никакой третьей тройки нет. Не может квадрат целого числа заканчиваться на 3. Это всё следствие вашей ошибки при объявлении $y$.

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 14:25 


05/09/16
12108
Booker48 в сообщении #1594076 писал(а):
Как пример, при $x=622402679=24943\cdot 24953$ должно получиться ровно две тройки

Booker48 в сообщении #1594095 писал(а):
Никакой третьей тройки нет.

Ну не знаю... У меня для $x=622402679$ получилось в два раза больше троек, чем две: :mrgreen:
x=622402679 y=193692547413188520 z=193692547413188521
x=622402679 y=7765407012072 z=7765407037015
x=622402679 y=7762294998672 z=7762295023625
x=622402679 y=249480 z=622402729


-- 16.05.2023, 14:39 --

Alek в сообщении #1594092 писал(а):
Чем тогда можно здесь объявить игрек?

Длинная арифметика (погуглите словосчетание, посмотрите Википедию) это не совсем по теме алгоритмов и собственно языка, наверное. В общем, вам нужны какие-то сторонние библиотеки функций, которые умеют умножать большие числа без переполнения. Если вы только две недели в программировании, то наверное рановато. Просто пометьте себе галочкой, что с очень большими и очень маленькими числами могут быть проблемы. На которые вы и натолкнулись в стандартном Паскале. Если же вы в программировании из-за Пифагоровых троек (а не из-за программирования), то лучше наверное сменить Паскаль на что-то ещё.

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 14:45 


07/06/17
1159
wrest в сообщении #1594101 писал(а):
Booker48 в сообщении #1594076 писал(а):
Как пример, при $x=622402679=24943\cdot 24953$ должно получиться ровно две тройки

Ну не знаю... У меня для $x=622402679$ получилось в два раза больше троек: :mrgreen:

Да, прошу извинить, я имел в виду только примитивные тройки. Две "лишних" кратны $24943^2$ и $24953^2$, соответственно (квадратам делителей $x$).
Но это легко добавить.

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 15:04 


26/06/21

111
wrest в сообщении #1594101 писал(а):
Booker48 в сообщении #1594076 писал(а):

Booker48 в сообщении #1594095 писал(а):

Alek в сообщении #1594092 писал(а):
Чем тогда можно здесь объявить игрек?

Длинная арифметика (погуглите словосчетание, посмотрите Википедию) это не совсем по теме алгоритмов и собственно языка, наверное. В общем, вам нужны какие-то сторонние библиотеки функций, которые умеют умножать большие числа без переполнения. Если вы только две недели в программировании, то наверное рановато. Просто пометьте себе галочкой, что с очень большими и очень маленькими числами могут быть проблемы. На которые вы и натолкнулись в стандартном Паскале. Если же вы в программировании из-за Пифагоровых троек (а не из-за программирования), то лучше наверное сменить Паскаль на что-то ещё.

Понял, спасибо))

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 16:35 


05/09/16
12108
Booker48 в сообщении #1594104 писал(а):
Две "лишних" кратны $24943^2$ и $24953^2$, соответственно (квадратам делителей $x$).

Не знаю что вы подразумеваете под "кратны квадратам", но у этих троек
x=622402679 y=7765407012072 z=7765407037015
x=622402679 y=7762294998672 z=7762295023625

НОД(x,y,z) равны 24943 и 24953 (не квадраты). Эти две тройки не примитивные, да.

 Профиль  
                  
 
 Re: Оптимизация программы генератора троек
Сообщение16.05.2023, 17:22 


07/06/17
1159
wrest в сообщении #1594119 писал(а):
Не знаю что вы подразумеваете под "кратны квадратам", но у этих троек
$x=622402679 y=7765407012072 z=7765407037015$
$x=622402679 y=7762294998672 z=7762295023625$
НОД(x,y,z) равны 24943 и 24953 (не квадраты).

Совершенно верно. Кратны делителям $x$, я имел в виду.
Но в выражении $x^2+y^2=z^2$ все слагаемые кратны квадратам делителей $x$.
Прошу прощения за невнятность изложения.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group