SW Expert Academy // 3408

2021. 1. 27. 16:31Programming/SW Expert Academy

SW Expert Academy 3408번 "세가지 합 구하기" 문제입니다.

TC = int(input())   
ans = []
for tc in range(1, TC + 1):
    k = "#"+str(tc)
    N = int(input())
    s1, s2, s3 = 0, 0, 0
    s1 = N * (N+1) // 2
    s2 = (N-1) * N + N
    s3 = (N-1) * N + 2 * N
    k += " " + str(s1) + " " + str(s2) + " " + str(s3)
    ans.append(k)
for e in ans:
    print(e)

N을 입력받으면

1) 1부터 N까지의 합, 2) 1부터 홀수 N개의 합, 3) 2부터 짝수 N개의 합을 차례로 구하는 문제다.

이는 수학 공식을 알고 있으면 편한 문제다.

1부터 N까지의 합은 N * (N + 1) // 2이다.

1부터 홀수 N개의 합을 구하는 공식은 N * (N - 1) + N

2부터 짝수 N개의 합을 구하는 공식은 N * (N - 1) + 2 * N이다

이는 등차수열의 합을 참고하면 되므로 아래에 링크를 걸어두겠다.

mathbang.net/609

 

등차수열의 합, 등차수열의 합 공식

이번 글에서는 등차수열의 각 항을 더한 등차수열의 합을 구할 거예요. 아주 간단히 생각만 살짝 바꾸면 등차수열의 합 공식을 유도할 수 있어요. 방법은 어렵지 않으니까 그 원리를 금방 이해

mathbang.net

 

'Programming > SW Expert Academy' 카테고리의 다른 글

SW Expert Academy // 11387  (0) 2021.02.01
SW Expert Academy // 3376  (0) 2021.01.28
SW Expert Academy // 3431  (0) 2021.01.27
SW Expert Academy // 3499  (0) 2021.01.26
SW Expert Academy // 3750  (0) 2021.01.26