Присоединиться

11 класс·средний уровень

Определите количество троек чисел таких, которые могут являться

Условие

Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём тройкой три идущих подряд элемента последовательности. Определите количество троек чисел таких, которые могут являться сторонами прямоугольного треугольника. В ответе запишите два числа: сначала количество найденных троек, а затем — максимальную сумму элементов таких троек. Если таких троек не найдётся — следует вывести 0 0.Задание 17Ответ:

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Заметим, что треугольник является прямоугольным, если квадрат длины гипотенузы треугольника будет равен сумме квадратов длин катетов этого треугольника. Решим задачу перебором. Приведём решение данной задачи на языке PascalABC:var x, y, z, count, maxsum, a, b: integer;f: text;begin assign(f,'C:\17.txt'); reset(f); count := 0; maxsum := 0; readln(f, x); readln(f, y); while not eof(f) do begin readln(f, z); a := Max(x, y, z) * Max(x, y, z); b := x + y + z - Min(x, y, z) - Max(x, y, z); b := Min(x, y, z) * Min(x, y, z) + b * b; if a = b then begin count := count + 1; if (x + y + z > maxsum) then maxsum := x + y + z; end; x := y; y := z; end; writeln(count, ' ', maxsum);end. Приведём решение Николая Чуркина (Тимашевск) на языке Python.count = m = 0f = open('17.txt')l = [int(i) for i in f]for i in range(len(l) - 2): l1 = sorted([l[i], l[i + 1], l[i + 2]]) if l1[2]**2 == (l1[1]**2 + l1[0]**2): count += 1 m = max(m, sum(l1))print(count, m) Результат работы программы — 0

Осталось ещё 1 шаг

  1. Приведём решение Сергея Донец на…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработки числовой последовательности»

Определите количество троек чисел таких, которые могут являться — решение с объяснением | Lom Ai