문제
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)을 한 줄에 하나씩 출력한다.
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
int r, n, total = 0, count = 1;
scanf("%d", &r);
for (int i = 1; i <= r; i++) {
scanf("%d", &n);
total = 0;
count = 1;
for (int j = 1; j <= n; j++) {
count += j + 1;
total += j * count;
}
printf("%d\n", total);
}
return 0;
}
'c > 백준' 카테고리의 다른 글
5622. 다이얼 (1) | 2023.04.20 |
---|---|
1152. 단어의 개수 (0) | 2023.04.20 |
10988. 팰린드롬인지 확인하기 (0) | 2023.04.07 |
1110. 더하기 사이클 (0) | 2023.04.06 |
11654. 아스키 코드 (0) | 2023.04.06 |
문제
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)을 한 줄에 하나씩 출력한다.
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
int r, n, total = 0, count = 1;
scanf("%d", &r);
for (int i = 1; i <= r; i++) {
scanf("%d", &n);
total = 0;
count = 1;
for (int j = 1; j <= n; j++) {
count += j + 1;
total += j * count;
}
printf("%d\n", total);
}
return 0;
}
'c > 백준' 카테고리의 다른 글
5622. 다이얼 (1) | 2023.04.20 |
---|---|
1152. 단어의 개수 (0) | 2023.04.20 |
10988. 팰린드롬인지 확인하기 (0) | 2023.04.07 |
1110. 더하기 사이클 (0) | 2023.04.06 |
11654. 아스키 코드 (0) | 2023.04.06 |