2016년 3월 2일 수요일

1110 - 더하기 사이클

수를 계속 변환하다가, 이전에 이 숫자가 나왔다면 사이클을 종료한다.

왜냐하면 그 숫자부터는 다시 같은 변환이 되므로 반복되기 때문이다.


#include <cstdio>

inline int conv(int n){ return (n%10)*10+(n/10+n%10)%10; }

int main(){
    int N, len=1, cur;
    scanf("%d", &N);
    for(cur=conv(N); cur != N; ++len, cur=conv(cur));
    printf("%d", len);
    return 0;
}

댓글 없음:

게시글 목록