1265. Египет

 

Ещё в древние времена египтяне поняли, что треугольник со сторонами 3, 4 и 5 имеет прямой угол, являющийся его наибольшим углом. Определите, имеют ли и другие треугольники это же свойство.

 

Вход. Состоит из нескольких тестов, которые заканчиваются строкой 0 0 0. Каждый тест содержит три натуральных числа – стороны очередного треугольника. Все числа не превышают 30000.

 

Выход. Для каждого теста выведите в отдельной строке right если треугольник является прямоугольным или wrong в противном случае.

 

Пример входа

Пример выхода

6 8 10

25 52 60

5 12 13

0 0 0

right

wrong

right

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Пусть a, b, c – длины сторон треугольника. Треугольник является прямоугольным, если выполняется одно из следующих равенств:

·        a2 = b2 + c2 (гипотенузой является сторона a)

·        b2 = a2 + c2 (гипотенузой является сторона b)

·        с2 = a2 + b2 (гипотенузой является сторона с)

 

Реализация алгоритма

Читаем входные данные до конца файла.

 

while(scanf("%d %d %d",&a,&b,&c))

{

 

Если встретились три нуля, то завершаем работу программы.

 

  if (a + b + c == 0) break;

 

Проверяем, является ли треугольник прямоугольным. В зависимости от результата выводим ответ.

 

  if ((a * a + b * b == c * c) ||

      (a * a + c * c == b * b) ||

      (b * b + c * c == a * a))

    puts("right");

  else

    puts("wrong");

}

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    while(con.hasNextInt())

    {

      int a = con.nextInt();

      int b = con.nextInt();

      int c = con.nextInt();

 

      if (a + b + c == 0) break;

      if ((a * a + b * b == c * c) ||

          (a * a + c * c == b * b) ||

          (b * b + c * c == a * a))

        System.out.println("right");

      else

        System.out.println("wrong");

    }

    con.close();

  }

}

 

Python реализация

Читаем входные данные до конца файла.

 

while True:

  a, b, c = map(int, input().split())

 

Если встретились три нуля, то завершаем работу программы.

 

  if a + b + c == 0: break

 

Проверяем, является ли треугольник прямоугольным. В зависимости от результата выводим ответ.

 

  if (a * a + b * b == c * c) or (a * a + c * c == b * b) or

     (b * b + c * c == a * a):

    print("right");

  else:

    print("wrong")