Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 24 сентября 2025 16:37

Напишите программу, которая находит все пифагоровы тройки (а, b, c) такие, что а² + b ^ 2 = c ^ 2 для а и в в диапазоне от 1 до №. сделать простой код можно использовать range и if

Ответ нейросети

24 сентября 2025 16:37

Вот простой способ найти все пифагоровы тройки (a, b, c) с a и b в диапазоне от 1 до N. Мы перебираем пары (a, b), считаем c^2 = a^2 + b^2 и проверяем, является ли c целым числом (то есть c^2 — квадрат). Если да — тройка найдена.

Важно: чтобы не дублировать пары (a, b) и (b, a), можно ограничивать второй параметр так, чтобы b начинался с a.

Пояснение по шагам:

  • Вводим N — верхнюю границу для a и b.
  • Для каждого a от 1 до N:
    • Для каждого b от a до N (чтобы избежать дублей):
      • Вычисляем c2 = a^2 + b^2.
      • Находим целочисленный корень c = sqrt(c2).
      • Если c^2 == c2, то (a, b, c) — пифагорова тройка.
  • Выводим найденные тройки.

Пример простого кода (используем range и if):

Python (вариант с уникальными парами a ≤ b, чтобы не дублировать тройки): import math

def pythagorean_triples(N): triples = [] for a in range(1, N + 1): for b in range(a, N + 1): # чтобы не повторять (a,b) и (b,a) c2 = aa + bb c = math.isqrt(c2) # целочисленный квадратный корень if c*c == c2: triples.append((a, b, c)) return triples

Пример использования:

N = int(input("Введите N: ")) for t in pythagorean_triples(N): print(t)

Дополнительный простой вариант (максимально прямолинейный, но с дублированием пар): import math

def pythagorean_triples_all(N): triples = [] for a in range(1, N + 1): for b in range(1, N + 1): c2 = aa + bb c = math.isqrt(c2) if c*c == c2: triples.append((a, b, c)) return triples

N = int(input("Введите N: ")) for t in pythagorean_triples_all(N): print(t)

Что выбрать:

  • Если нужно вывести все тройки без дубликатов — используйте первый вариант (b начинается с a).
  • Если не важны дубликаты и хочется максимально простой код — используйте второй вариант.

Если хотите, могу адаптировать код под конкретное значение N или под язык программирования другой, например JavaScript.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Напишите программу, которая находит все пифагоровы тройки (а, b, c) такие, что а² + b ^ 2 = c ^ 2 для а и в в диапазоне от 1 до №. сделать простой код можно использовать range и if
Вот простой способ найти все пифагоровы тройки (a, b, c) с a и b в диапазоне от 1 до N. Мы перебираем пары (a, b), считаем c^2 = a^2 + b^2 и проверяем, является ли c целым числом (то есть c^2 — квадрат). Если да — тройка найдена. Важно: чтобы не дублировать пары (a, b) и (b, a), можно ограничивать второй параметр так, чтобы b начинался с a. Пояснение по шагам: - Вводим N — верхнюю границу для a и b. - Для каждого a от 1 до N: - Для каждого b от a до N (чтобы избежать дублей): - Вычисляем c2 = a^2 + b^2. - Находим целочисленный корень c = sqrt(c2). - Если c^2 == c2, то (a, b, c) — пифагорова тройка. - Выводим найденные тройки. Пример простого кода (используем range и if): Python (вариант с уникальными парами a ≤ b, чтобы не дублировать тройки): import math def pythagorean_triples(N): triples = [] for a in range(1, N + 1): for b in range(a, N + 1): # чтобы не повторять (a,b) и (b,a) c2 = a*a + b*b c = math.isqrt(c2) # целочисленный квадратный корень if c*c == c2: triples.append((a, b, c)) return triples # Пример использования: N = int(input("Введите N: ")) for t in pythagorean_triples(N): print(t) Дополнительный простой вариант (максимально прямолинейный, но с дублированием пар): import math def pythagorean_triples_all(N): triples = [] for a in range(1, N + 1): for b in range(1, N + 1): c2 = a*a + b*b c = math.isqrt(c2) if c*c == c2: triples.append((a, b, c)) return triples N = int(input("Введите N: ")) for t in pythagorean_triples_all(N): print(t) Что выбрать: - Если нужно вывести все тройки без дубликатов — используйте первый вариант (b начинается с a). - Если не важны дубликаты и хочется максимально простой код — используйте второй вариант. Если хотите, могу адаптировать код под конкретное значение N или под язык программирования другой, например JavaScript.