【Python】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