[ 백준 8393번 ] 합
2021. 11. 8. 12:16ㆍ백준/단계별 문제
백준 8393번 / 3단계 / 합
이 문제는 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 |