개발일기

백준 2721번 파이썬 풀이 : 삼각수의 합 본문

알고리즘 문제풀이/백준

백준 2721번 파이썬 풀이 : 삼각수의 합

한민기 2021. 9. 23. 15:07
반응형

문제 링크 : https://www.acmicpc.net/problem/2721

 

2721번: 삼각수의 합

n번째 삼각수, T(n)은 1부터 n까지의 합이다. T(n) = 1 + ... + n. 이것은 삼각형 모양으로 표현할 수 있다. 아래 그림은 T(4)를 나타낸 것이다. 다음과 같은 식을 통해 가중치를 부여한 삼각수의 합을 구

www.acmicpc.net

문제

n번째 삼각수, T(n)은 1부터 n까지의 합이다. T(n) = 1 + ... + n. 이것은 삼각형 모양으로 표현할 수 있다. 아래 그림은 T(4)를 나타낸 것이다.

다음과 같은 식을 통해 가중치를 부여한 삼각수의 합을 구할 수 있다.

W(n) = Sum[k=1..n; k*T(k+1)]

n이 주어졌을 때, W(n)을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 정수 n 하나로 이루어져 있다. (1<=n<=300)

출력

각 테스트 케이스에 대해 W(n)을 한 줄에 하나씩 출력한다.

 

# 문제 풀이 ( 브론즈 3 )

- 강의용 문제풀이

1
2
3
4
5
= int(input())
for _ in range(t):
    n = int(input())
    print(sum([k * T(k+1for k in range(1, n+1)]))
 
cs

테스트 케이스 개수를 입력받은 후 반복문을 통해 계산할 숫자를 입력받는다.

예제를 살펴 보듯 3을 입력했을 때 1부터 3까지 k 에 대입하여 k * T(k + 1)들의 값을 더해야 한다.

따라서 for k in range(1, n+1) 을 하여 k에 1부터 3까지 대입, k * T(k + 1) 값들을 배열로 생성

sum 함수를 사용하여 모든 값을 더하면서 출력해준다.

 

1
2
3
4
5
def T(number):
    number_sum = 0
    for i in range(1, number+1):
        number_sum += i
    return number_sum
cs

함수 T는 1부터 입력받은 수까지의 모든 합을 리턴 하는 것이다.

 

반응형
Comments