Study (etc)/Problem Solving
[BOJ / C] 1110번 : 더하기 사이클
Haren
2019. 5. 6. 10:00
<백준 온라인 저지 : 1110번>
- 더하기 사이클 -
문제설명
이 문제를 풀며
- 숫자의 십의 자리와 일의 자리를 분리하는게 필요했다. 십의 자리는 (입력받은 정수) / 10 으로 분리했고, 일의 자리는 (입력받은 정수) % 10으로 분리했다.
- 처음에는 그냥 입력받은 수를 바로 계산을 해버렸지만, 그렇게 할 경우 정상적으로 답이 출력되지 않아 임시변수를 선언하여 사용하였다. 소스코드를 보면 임시 변수를 어떻게 사용했는지 알 수 있을 것이다.
- 꽤 오래 고민을 하며 풀었던 문제이다.
내 소스
#include <stdio.h> int main() { int num,tmp; //tmp는 계산 결과값을 담을 임시변수 int a,b,c; int result, count=0; scanf("%d", &num); tmp = num; //먼저 num값을 tmp에 대입. while(1) { a = tmp / 10; b = tmp % 10; c = (a+b) % 10; count++; result = (b*10)+c; tmp = result; if(result == num) break; } printf("%d\n",count); }
채점 결과