구거법으로 검산하기
면접 대비시간 제한1초메모리 제한128 MB
각 줄에 주어진 a+b=c. 또는 a*b=c.에 대해 숫자 합을 9로 나눈 나머지를 비교하여, 합동이면 PASS를, 아니면 NOT!을 출력한다.
문제
위대한 수학자 피사의 레오나르도 피보나치(1170–1240)에 대해 들어보았을 것이다. 그가 1202년에 처음 출간한 책 Liber Abaci에서 설명한 여러 알고리즘 가운데에는 덧셈·뺄셈·곱셈을 검산하는 "구거법(casting out nines)" 절차가 있다. 역사학자들에 따르면 이 절차는 아랍인을 거쳐 유럽에 전해졌지만 실제로는 인도 아대륙에서 개발된 것으로 보이며, 그래서 "힌두 검산(Hindu check)"이라고도 불린다.
구거법은 합동식 을 이용하는 기초적인 검산법이다. 라고 쓰면 이는 와 가 같다는 뜻임을 기억하자.
자연수 , 의 곱을 라 하고, , , 의 각 자리 숫자의 합을 각각 , , 라 하자. 그러면 , , 가 성립한다. 또한 이므로 이다. 따라서 와 가 를 법으로 하여 합동이 아니라면 그 곱셈은 잘못 계산된 것이다.
예를 들어 이다. 와 의 자리합은 각각 와 이고 그 곱은 이다. 의 자리합은 이다. 이므로 검산이 일치한다.
다른 예로, 어떤 사람이 이라고 잘못 계산했다고 하자. 이때 인 반면 이므로 이 곱셈은 확실히 틀렸다.
이 성립하므로 이 검산법은 덧셈에도 똑같이 적용할 수 있다.
주어진 덧셈 또는 곱셈이 힌두 검산을 통과하는지 판정하는 프로그램을 작성하라.
입력
프로그램은 하나 이상의 테스트 케이스로 시험된다. 각 테스트 케이스는 한 줄에 다음 형식으로 주어진다.
a+b=c.
또는
a*b=c.
줄 끝의 .에 주의하라. , , 는 자연수이다. 숫자와 기호(+, *, =, .) 사이에는 공백이 없지만 . 뒤에는 공백이 올 수 있다.
입력의 마지막 줄은 . 하나만 있는 줄이며 테스트 케이스에 포함되지 않는다.
출력
각 테스트 케이스마다 다음 형식으로 한 줄을 출력한다.
k. result
여기서 는 테스트 케이스 번호(1부터 시작)이고, result는 해당 덧셈 또는 곱셈이 힌두 검산을 통과하면 PASS, 그렇지 않으면 NOT!이다.