[백준/파이썬] 1110번 더하기 사이클 풀이

업데이트:



문제 정보


풀이

문제

N에 대해:

  • 각 자리 숫자 합의 일의 자리
  • 기존 수의 일의 자리

를 이어 새 수를 만들고, 다시 원래 수 N으로 돌아올 때까지의 사이클 길이를 구하는 문제입니다.

코드

a = int(input())

i=0
b=a
while True:
    i+=1
    roo = b%10
    ros = ((b//10)+(b%10))%10
    b= roo*10 + ros
    if(b == a):
        print(i)
        break

설명

현재 수 b에서 일의 자리(roo)와 각 자리 합의 일의 자리(ros)를 구해 새 수 b = roo*10 + ros를 만듭니다.

처음 입력값으로 되돌아올 때까지 반복 횟수를 세면 정답입니다.



댓글남기기