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
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 1652 - 누울 자리를 찾아라 (0) | 2018.09.23 |
---|---|
백준] 2246 - 콘도 선정(ACM-ICPC Regionals) (0) | 2018.09.22 |
백준] 2167 - 2차원 배열의 합 (0) | 2018.09.04 |
백준] 1233 - 주사위(USACO 2008) (0) | 2018.08.31 |
백준] 2484 - 주사위 네 개(한국정보올림피아드 2010;KOI 2010 지역본선) (0) | 2018.08.26 |