Visual Studio
백준 온라인 저지: 13073 Sums 본문
각 테스트 케이스마다 주어지는 정수 N(1 <= N <= 10000)에 대해 다음 세개의 값을 한줄로 출력한다.
S1: 처음 N개의 양의 정수의 합
S2: 처음 N개의 홀수인 양의 정수의 합
S3: 처음 N개의 짝수인 양의 정수의 합
// 입력 형태
// 첫줄에는 테스트 케이스의 개수인 T (1<= T <= 10000)
// 두번째 줄부터 T개의 줄에 1<= N <= 10000인 양의 정수 N이 주어진다.
// 출력 형태
// T개의 N에 대해
// S1 S2 S3
// 의 형태로 출력하면 된다. S1, S2, S3는 다음과 같다.
// S1: 처음 N개의 양의 정수의 합
// S2: 처음 N개의 홀수인 양의 정수의 합
// S3: 처음 N개의 짝수인 양의 정수의 합
#include <cstdio>
int main()
{
int T;
scanf("%d", &T);
for (int i = 0; i < T; ++i)
{
int N;
scanf("%d", &N);
printf("%d %d %d\n", N * (N + 1) / 2, N * N, N * (N + 1));
}
}
간단한 등차수열의 합이다.
S2와 S3의 "처음 N개"를 "N까지"로 바꾸면 다음과 같이 풀수 있다.
// 응용
// S2: N보다 작거나 같은 양의 정수의 합
// S3: N보다 작거타 같은 짝수인 양의 정수의 합
#include <cstdio>
int main()
{
int T;
scanf("%d", &T);
for (int i = 0; i < T; ++i)
{
int N;
scanf("%d", &N);
printf("%d %d %d\n", N * (N + 1) / 2, (N / 2) * (N / 2), (N / 2) * (N / 2 + 1));
}
}
'Problem Solving' 카테고리의 다른 글
백준 온라인 저지: 1459 걷기 (0) | 2022.06.16 |
---|---|
백준 온라인 저지: 2057 팩토리얼 분해 (0) | 2022.06.16 |
백준 온라인 저지: 4909 Judging Olympia (0) | 2022.06.07 |
Codility: FirstUnique 풀이 (0) | 2022.06.06 |
1672 DNA 해독 숏코딩 (0) | 2022.04.30 |