[ 백준 8393번 ] 합

2021. 11. 8. 12:16백준/단계별 문제

백준 8393번 / 3단계 / 합

 

백준 8393번 - 합

 

이 문제는 2가지 방법으로 풀었다.

1. 수식으로 푼 방법

2. 반복문으로 푼 방법

 

첫 번째 방법 문제 풀이
1. 가우스 공식을 사용했다. ( 1 + 100 = 101 ), ( 2 + 99 = 101 ), ( 3 + 98 = 101 ).... ( 50 + 51 = 101 )
101 * 100 / 2 = 5050이라는 답이 나온다. 이러한 성질을 이용해
1 + n 을 한 뒤 n번 곱한 후 나누기 2를 해주면 1부터 n 번까지 더한 값이 나온다.

공식 : ( 1 + n ) x n / 2

 

코드
#include <stdio.h>

int main() {
	int n;
	int sum = 0;

	scanf("%d", &n);
	sum = (1 + n) * n / 2;

	printf("%d\n", sum);
}

 

 

애초에 3단계 테마는 for문 이므로 두번째 방법인 반복문으로 푸는 방식이 정석이다.

 

두 번째 방법 문제 풀이
1. 반복문을 만들어 1부터 시작을 해 n까지 변수 sum에 변수 i를 더해주면서 반복문을 돌려준다.
2. 반복문이 끝나면 변수 sum 을 출력한다.
#include <iostream>

using namespace std;

int main() {
	int n, i;
	int sum = 0;

	cin >> n;

	for ( i = 1; i <= n; i++ ) {
		sum += i;
	}
	cout << sum;
}

'백준 > 단계별 문제' 카테고리의 다른 글

[ 백준 2438번 ] 별찍기 1  (0) 2021.11.08
[ 백준 10950번 ] A+B - 3  (0) 2021.11.08
[ 백준 2739번 ] 구구단  (0) 2021.11.08
[ 백준 2884번 ] 알람시계  (0) 2021.11.08
[ 백준 14681번 ] 사분면 고르기  (0) 2021.11.08