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

파이썬으로 처음 n개의 홀수의 합 구하는 프로그램

숫자 n이 하나 주어졌을 때, 처음 n개의 양의 홀수의 합을 구하는 문제를 살펴보겠습니다.

예를 들어 입력값이 7이라면, [1 + 3 + 5 + 7 + 9 + 11 + 13] = 49 이므로 출력 결과는 49가 됩니다.

문제 해결 접근 방법

이 문제는 반복문을 활용해 다음과 같은 단계로 해결할 수 있습니다.

  • n이 0이면 0을 반환합니다.
  • 변수를 초기화합니다: sum = 1, count = 0, temp = 1
  • count가 n-1보다 작은 동안 아래 과정을 반복합니다.
    • temp에 2를 더해 다음 홀수를 만듭니다.
    • sum에 temp를 더합니다.
    • count를 1 증가시킵니다.
  • 반복이 끝나면 최종 sum 값을 반환합니다.

아래 예제 코드를 통해 더 자세히 이해해 보겠습니다.

예제 코드

class Solution:
    def solve(self, n):
        if n == 0:
            return 0
        sum = 1
        count = 0
        temp = 1
        while(count < n-1):
            temp += 2
            sum += temp
            count += 1
        return sum

ob = Solution()
print(ob.solve(7))

입력

7

출력

49

추가로 알아두면 좋은 수학적 사실

흥미롭게도 처음 n개의 홀수의 합은 항상 n²과 같습니다. 위 예제에서도 n = 7일 때 7² = 49로 결과가 일치합니다. 따라서 반복문 없이 return n * n 한 줄만으로도 O(1) 시간 복잡도에 같은 결과를 얻을 수 있어, 성능 측면에서 훨씬 효율적인 대안이 됩니다.