2014년 7월 15일 화요일

1769 3의 배수

3의 배수를 각 자리의 숫자의 합으로 바꾸는 작업으로 판별하는 문제이다.
자리수가 10^100만 자리 까지기 때문에 문자열로 취급해서 받아야 한다.
처음에는 어떻게 해야하나 고민했는데
생각해보니 처음 숫자가 10^100만 자리여도 각 숫자를 전부 더해봐야
최댓값은 9000000 즉 10^7 자리 밖에 되지 않는다.

따라서 처음 한번만 계산하면 나머지는 int 형 범위안에서 충분히 계산 가능하다.
나는 각 자리 수를 int형 변수에 더해서 sprintf 로 다시 문자열로 바꿔주는 방법을 이용했다.

소스

댓글 없음:

댓글 쓰기