Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 n + nn + nnn + … 반복 자릿수 수열의 합 계산하기

파이썬은 다양한 수학적 수열을 손쉽게 처리할 수 있는 언어입니다. 그중에서도 흥미로운 형태 중 하나가 바로 같은 숫자를 반복해 만든 수열입니다. 예를 들어 한 자리 숫자 n이 주어지면, 이를 n, nn, nnn처럼 자릿수를 하나씩 늘려가며 차례로 더하는 방식입니다. 마지막에는 이렇게 생성된 모든 수의 총합을 계산하게 됩니다.

접근 방법

먼저 입력받은 숫자를 문자열로 변환합니다. 그다음 해당 문자열을 두 번 연결해 두 자리 숫자(nn)를 만들고, 세 번 연결해 세 자리 숫자(nnn)를 만드는 식으로 문자열 연결을 반복합니다. 이렇게 만들어진 각 숫자를 정수로 변환해 누적으로 더하면, 원하는 항 개수(m)만큼의 수열 합계를 간단히 구할 수 있습니다.

예제 코드

def sumofseries(n, m):
    # 숫자를 문자열로 변환
    str_n = str(n)
    sum_n = n
    sum_all_str = str(n)
    for i in range(1, m):
        # 문자열을 반복해서 연결
        sum_all_str = sum_all_str + str_n
        sum_n = sum_n + int(sum_all_str)
    return sum_n

# 사용자 입력 받기
n = int(input("Enter the value of n: "))
m = int(input("Enter the value of m: "))
sumofno = sumofseries(n, m)
print("Sum:>", sumofno)

실행 결과

위 코드를 실행하면 다음과 같은 결과를 확인할 수 있습니다.

Enter the value of n: 2
Enter the value of m: 4
Sum:> 2468

결과 해석

n = 2, m = 4로 입력했을 때, 프로그램은 2 + 22 + 222 + 2222를 계산하여 2468을 출력합니다. 즉, 첫 번째 항부터 시작해 매번 같은 숫자를 한 자리씩 추가하면서 누적 합을 구하는 것입니다. 이 방식은 문자열 연결과 반복문만으로 구현되기 때문에 코드가 간결하고 이해하기 쉽습니다.