SW Expert Academy // 3408
2021. 1. 27. 16:31ㆍProgramming/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
'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 |