[파이썬] 1110번: 더하기싸이클
# 작성자:www.github.com/kchs94
N = int(input()) # 입력
length = 0 # 사이클의 길이를 저장할 변수 설정
first_value = N # 원래 값을 저장할 변수 선언
while True:
if 0 <= N < 10: # N이 10보다 작을 때
N = N + N * 10 # 첫 번재 N은 각 자리수의 합(total)이고 두 번째 N*10는 첫 번째 자리수를 두 번째 자릿수로 옮긴 것.
else: # N이 10보다 크거나 같을 때
total = N//10 + (N % 10) # 두 번째 자릿수 값은 몫으로 구하고 첫 번째 자릿수는 나머지로 구한다.
N = (N % 10) * 10 + (total % 10) # N = 80 + 4
length = length + 1
if N == first_value: # 원래 값과 새로운 값이 같다면 무한루프틑 탈출한다.
print(length)
break;
문제
- 첫 번째 자리수 값을 구할 수 있나요? --> 나머지 연산자(%)
- 두 번째 자리수 값을 구할 수 있나요? --> 몫 연산자(//)
- 첫 번째 자리수 값을 두 번째 자리수로 옮길 수 있나요? --> * 10
Author And Source
이 문제에 관하여([파이썬] 1110번: 더하기싸이클), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kchs94/파이썬-1110번-더하기싸이클저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)