Computer Science/Algorithm Problem

백준] 2145 - 숫자 놀이(ACM-ICPC Regionals)

TwinParadox 2018. 9. 8. 17:54
728x90

시간 제한 : 2초

메모리 제한 : 128MB




입력

각 줄에 숫자 N이 주어진다. N은 100,000보다 작은 양의 정수이다. 마지막 입력은 0이며, 0에 대한 결과는 출력하지 않는다.




출력

한 줄에 하나씩 한 자릿수 결과를 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int n, tmp1, tmp2;
	while (1)
	{
		cin >> n;
		if (n == 0)
			break;
		
		while (n >= 10)
		{
			tmp1 = n, tmp2 = 0;
			while (tmp1 > 0)
			{
				tmp2 += tmp1 % 10;
				tmp1 /= 10;
			}
			n = tmp2;
		}
		cout << n << '\n';
	}
}




Tip

자릿수 쪼개기 문제로 나머지 연산, 나누기 연산만 잘 다루면 쉽게 풀 수 있는 문제다.



728x90
728x90