티스토리 뷰

  • 각 자리수의 합 = 10으로 나눈 나머지를 더하고, n을 10으로 나누며 반복한다.
    • 예를 들어 n = 453 이면
    • 453 을 10으로 나눈 나머지 3
    • 453 을 10으로 나눈 몫 45 를 10으로 나눈 나머지 5
    • 45 를 10으로 나눈 몫 4를 10으로 나눈 나머지 4
    • 3 + 5 + 4 = 12
  • 수의 역수 = 10씩 곱하고 일의 자리(나머지)를 더하고 반복한다.
    • 예를 들어 n = 453 이면
    • num = (0 * 10) + (453 % 10) = 0 + 3 = 3
    • num = (3 * 10) + (45 % 10) = 30 + 5 = 35
    • num = (35 * 10) + (4 % 10) = 350 + 4 = 354
while True:
    n = int(input())
    if n == 0:
        break


    # 역수 = 10씩 곱하고 일의 자리(나머지)를 더함
    num = 0
    # 각 자리수의 합 = 10으로 나눈 나머지
    total = 0

    while n > 0:
        num = (num * 10) + (n % 10)
        total += n % 10
        n = n // 10

    print(num, total)

 

 

댓글