Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2018, 14:58   #1
Smolk
 
Регистрация: 23.02.2018
Сообщений: 8
По умолчанию Пифагоровы тройки - какую формулу или свойство окружности нужно применить?

Всем привет!
Готовлюсь к олимпиаде и туплю над одной задачей.
Задача называется "Пифагоровы тройки".
Дано натуральное число N (N<1000). Найти N различных точек на плоскости с целочисленными координатами, лежащие на одной окружности.
В ответе укажите наборы подходящих точек для N=100.
Я долго рассуждал над этой задачей, но никак не могу понять что с ней делать. Я никак не могу понять: какую формулу или свойство окружности нужно применить.
Надеюсь уважаемые пользователи форума смогут помочь мне!
Заранее спасибо.
Smolk вне форума Ответить с цитированием
Старый 23.02.2018, 15:46   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Найти нужное количество рациональных точек на единичной окружности, привести к общему знаменателю и получить радиус. Например для 8 точек:

рациональные точки:
(0,1) (0,-1) (1,0) (-1,0)
(3/5,4/5) (-3/5),4/5) (4/5,3/5) (4/5,-3/5) - просто используя первую примитивную пифагорову тройку (3, 4, 5)

приведя к общему знаменателю получим точки:
(0,5) (0,-5) (5,0) (-5,0)
(3,4) (-3,4) (4,3) (4,-3) и радиус 5

для большего числа добавляем следующую тройку (5, 12, 13) и т.д.
можно использовать и нахождение с помощью тригонометрии половинного и удвоенного угла
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 23.02.2018 в 15:48.
Аватар вне форума Ответить с цитированием
Старый 23.02.2018, 18:07   #3
Smolk
 
Регистрация: 23.02.2018
Сообщений: 8
По умолчанию

Простите меня,
"рациональные точки:
(0,1) (0,-1) (1,0) (-1,0)
(3/5,4/5) (-3/5),4/5) (4/5,3/5) (4/5,-3/5) - просто используя первую примитивную пифагорову тройку (3, 4, 5)", почему вы взяли именно 3/5 4/5 и тд. Почему знаменатель 5. Я не очень понимаю. Можете пожалуйста растолковать.
Smolk вне форума Ответить с цитированием
Старый 23.02.2018, 18:38   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Потому, что 3^2+4^2=5^2 -> (3/5)^2+(4/5)^2=1 -> точка (3/5,4/5) лежит на единичной окружности
Цитата:
Почему знаменатель 5. Я не очень понимаю.
Может не стоит к олимпиаде готовиться, а просто математику подтянуть? Тут вообще-то геометрия 7-8 класса ))

ps а приводя к общему знаменателю мы как бы расттягиваем окружность, что бы эти рациональные координаты стали целыми
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 23.02.2018 в 18:42.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какую формулу применить для определения значений из среднего Евгения27 Microsoft Office Excel 5 13.07.2013 12:04
Какую защиту применить в программе. xpu Безопасность, Шифрование 11 31.08.2011 17:23
программа в delphi , надо получить все пифагоровы тройки luxeon001 Помощь студентам 1 18.07.2011 11:22
Какую формулу применить? rusgaz Microsoft Office Excel 3 18.10.2010 23:43