언유상씨의 건전한 취미생활

[백준 알고리즘] 더하기 사이클(1110번) C로풀기 본문

건전한 취미생활 - 알고리즘

[백준 알고리즘] 더하기 사이클(1110번) C로풀기

언유상 2020. 2. 6. 03:53

문제 이름 : 더하기 사이클

문제 번호 : 1110

사용 언어 : C

문제 유형 : 구현

 

문제는 다음과 같다.

십의 자리와 일의 자리를 분리하는 부분만 신경쓴다면 상대적으로 간단한 문제다.

평소에 잘 쓰이지 않는 do - while 문을 사용해서 코드를 작성해 보았는데, 충분히 다른 방식으로도 짤 수 있을것이다.

 

코드는 다음과 같다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
    int n;
    int l1, l2, r2;
    int cnt = 0;
    scanf("%d", &n);
    int k = n;
    do{
        l1 = n / 10; // 앞자리 계산
        l2 = n % 10; // 뒷자리 계산
        r2 = (l1 + l2) % 10;
        n = (l2 * 10) + r2;
        cnt++;
    }while (n != k);
    printf("%d", cnt);
    return 0;
}

Comments