В моем предыдущем посте по этому вопросу я добился небольшого прогресса (не обвиняя никого, кроме себя!), Поэтому я попытаюсь подойти к постановке задачи иначе.
как мнеидти о написании алгоритма для генерации списка примитивных троек?
Все, что мне нужно начать, это:
a) основная теорема: a^2 + b^2 = c^2
b)тот факт, что маленькие стороны тройки (a и b) должны быть меньше, чем 'n'
(примечание: 'n' <= 200 для этой цели) </p>
Как мнеидти о создании моих петель?Мне нужно 2 или 3 петли?
профессор дал мне несколько советов, но, увы, я все еще потерялся.Я не знаю, с чего начать строить свои петли.Мне нужно 2 или 3 петли?сделать цикл по a и b или мне нужно ввести переменную 'n' в собственный цикл?Это, вероятно, выглядит как очевидные подсказки опытным программистам, но мне кажется, что мне нужно больше держать руку ... любая помощь будет оценена!
Пифагорейская тройка - это группа a, b, c, где a ^2 + b ^ 2 = c ^ 2.Вам нужно найти все комбинации a, b, c, которые удовлетворяют вышеуказанному правилу, начиная с 0,0,0 до 200, 609 641. Первая тройка будет [3,4,5], следующая будет [5,12,13.] и т. д. n - длина малой стороны a, поэтому, если n равно 5, необходимо проверить все тройки с a = 1, a = 2, a = 3, a = 4, a = 5 и найти два случая, показанные вышекак пифагорейское,
РЕДАКТИРОВАТЬ
спасибо за все представленные материалы.Это то, что я придумал (используя python)
import math
for a in range (1,200):
for b in range (a,a*a):
csqrd = a * a + b * b
c = math.sqrt(csqrd)
if math.floor(c) == c:
print (a,b,int(c))
, это возвращает трижды (200, 609 641), где 200 - верхний предел для «a», но вычисление верхнего предела для «b»остается хитрым.Не уверен, как бы я поступил об этом ... предложения приветствуются:)
Спасибо
Баба
ps Я не ищу решение, а скорее помогу в улучшении моегонавыки решения проблем.(обязательно нужно :-))