32일차 문제

양진혁·2021년 12월 2일
0

문제풀이

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

예제 입력 1
9223372036854775807 9223372036854775808

예제 출력 1
18446744073709551615

a,b = map(int,input().split())
print(a+b)

이 문제는 파이썬이기에 간단하게 풀 수 있다.
파이썬은 오버플로우가 없기 때문에 만약 c언어로 이렇게 작성했다면 오류가 나왔을 것이다.

두번째 문제는
과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오.

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

예제 입력 1
6 8 10
25 52 60
5 12 13
0 0 0

예제 출력 1
right
wrong
right

while True:
  a= list(map(int,input().split()))
  maxnum = max(a)
  if sum(a) == 0: 
    break
  a.remove(maxnum)
  if a[0]**2 + a[1]**2 == maxnum**2:
    print('right')
  else:
    print('wrong')

while True를 사용해서 반복문을 만들고 만약 a리스트의 합이 0이면 반복문을 종료한다.
피타고라스의 정리에 따르면 밑변제곱 x 높이 제곱 = 빗변 제곱일 경우를 말한다.
즉 가장 큰 수의 제곱과 나머지의 제곱의 합이 일치하면 right을 아니면 wrong을 프린트한다.

0개의 댓글