Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.03.2017
Сообщений: 36

Задача о Пифагоровых тройках

17.07.2017, 15:37. Показов 4514. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Думаю, многие решали эту задачу просто методом перебора для небольших значений. В данном случае, необходимо при заданном c (гипотенуза) найти все тройки взаимно простых чисел a, b, c, таких, что a*a + b*b = c*c.
При 0 < с < 10^6. Как ни крутил, не выходит O(n), быть может, есть какая-то математическая хитрость. Заранее спасибо !
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.07.2017, 15:37
Ответы с готовыми решениями:

Найти общее решение в примитивных тройках уравнения: x^2-y^2=z^n
Господа, найдите общее решение в примитивных тройках уравнения: {x}^{2}-{y}^{2}={z}^{n} x, y -числа разной четности. z - нечетное...

Поиск пифагоровых троек
Помогите пожалуйста написать программу поиска пифагоровых троек, используя следующие формулы. a=u*v; b=(u*u-v*v)/2; c=(u*u+v*v)/2.

Генерация Пифагоровых троек
Попалась в разделе &quot;C для начинающих&quot;. Пифагорова тройка целых - это тройка (x,y,z), такая, что x2+y2=z2. Реализовать функцию, возвращающую...

22
 Аватар для Case-Man
167 / 107 / 22
Регистрация: 02.01.2012
Сообщений: 596
17.07.2017, 21:47
Студворк — интернет-сервис помощи студентам
С катетом проще, он либо https://www.cyberforum.ru/cgi-bin/latex.cgi?{m}^{2}-{n}^2 либо https://www.cyberforum.ru/cgi-bin/latex.cgi?2mn
В обоих случаях факторизация и почти никакого перебора
0
354 / 135 / 28
Регистрация: 16.12.2012
Сообщений: 607
Записей в блоге: 1
18.07.2017, 01:08
Цитата Сообщение от MansMI Посмотреть сообщение
так не годится, гипотенуза ограничивает диапазон катетов, а от катета в поисках другого можно вдоль числовой прямой до второго пришествия шагать
Мимо
Цитата Сообщение от motocross971 Посмотреть сообщение
А если имеем заданный катет n < 10^8 и необходимо вывести все возможные прямоугольные треугольники ( где a, b, c не обязательно взаимно простые ), этот алгоритм также применим ?
Я бы делал не совсем так.
10^8 операций должно зайти.
Тогда просто a^2+b^2 = c^2
Отсюда получаем, что a^2 = (c-b)(c+b)

Теперь давайте факторизуем a^2
И для каждого числа у нас есть два варианта - соотнести его с первым или вторым множителем.
Дальше все супер очевидно.
Итог - 2^(количество простых)
А максимальное кол-во простых - log2(a^2)
Тогда получается чистый a^2
И если дан катет, а не его квадрат - то словим tl.
Значит извлечем корень. Ничего не изменится. Снова красота.

Точно есть и другие решение, но это мне больше нравится.
0
0 / 0 / 0
Регистрация: 30.03.2017
Сообщений: 36
23.08.2017, 23:28  [ТС]
Ромаха, не совсем понял Ваш метод. К тому же факторизация числа - довольно скользкая тема. Даже если включим тест на простоту, может оказаться, что число является произведение 2-х простых чисел( или 2-х простых и некого составного ), тогда уже будет слишком долго, а вероятностные алгоритмы использовать нельзя, т.к необходим всегда точный ответ.

"Сверху" гипотенузу ограничивает значение a^2 / 2, что в худшем случае 10е16, поэтому методы перебора, даже если использовать бинарный поиск не помогут.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2017, 23:28

Расчет Пифагоровых троек
Уважаемые господа, предлагаю вашему вниманию формулы для расчета Пифагоровых троек по заданному нечетному числу. Уравнение теоремы...

Поиск пифагоровых троек в массиве
Привет всем, только начал изучать Си, прошу помоч с решением задачи:&quot;Ввести массив из 14 чисел, вывести на экран все тройки удовлетворяющие...

Найти 20 первых пифагоровых чисел
Найти 20 первых пифагоровых чисел, то есть целых k, l, m таких, что k2 + l2 = m2

доказательства свойств Пифагоровых троек
Для того, что бы решить одну задачу, хотел воспользоваться следующими свойствами 'пифагоровых троек': один из катетов кратен 3 один из...

Найти 20 первых пифагоровых чисел
Найти 20 первых пифагоровых чисел, то есть целых k, l, m таких, что k2 + l2 = m2


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru