C# 백준 4153번 직각삼각형

2022. 1. 3. 17:14C#/[백준] 기본 수학2

문제

using System;

namespace _9
{
    class Program
    {
        static void Main(string[] args)
        {
            while(true)
            {
                
                string input = Console.ReadLine();
                string[] inputdata = input.Split(' ');
                int x, y, z;
                x = Convert.ToInt32(inputdata[0].ToString());
                y = Convert.ToInt32(inputdata[1].ToString());
                z = Convert.ToInt32(inputdata[2].ToString());

                if(x == 0 && y == 0 && z == 0)
                        break;

                

                if (x * x + z * z == y * y)
                    Console.WriteLine("right");
                else if (x * x + y * y == z * z)
                    Console.WriteLine("right");
                else if (z * z + y * y == x * x)
                    Console.WriteLine("right");
                else
                    Console.WriteLine("wrong");
            }
        }
    }
}

피타고라스 정리를 활용하는 문제이다. 

여기서 틀리다고 할 경우 빗변을 정의해주지 않았기 때문이다. 

X^2 + Y^2 = Z^2 인데 Z의 값이 가장 길어야하고 이를 지정해주는 코드가 필요하다.

나는 그냥 X,Y,Z중 하나가 빗변으로 설정하고 걸리기만하면 right로 했다.