BOJ 문제풀이

백준 8393번 c언어풀이

koreasunoo 2020. 5. 24. 21:22

안녕하세요 오늘은 n값을 입력했을때 1부터 n까지의 합을 출력하는 문제를 풀어보겠습니다.

코드1:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int a,result=0;
	scanf("%d", &a);
	for (int i = 1; i <= a; i++) {
		result += i;
	}
	printf("%d", result);
	return 0;
}

코드2:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int a;
	scanf("%d", &a);
	printf("%d", a * (a + 1) / 2);
	return 0;
}

중요설명:

한 눈에 봐도 코드2가 더 짧아 보입니다.

코드1은 입력받은 a값을 for에 넣어서 i가 1부터 a까지 1씩 커질때 그 값을 result 에다가 더해서 나중에 result값을 출력하는 것입니다.

코드2는 고등수학에서 등차수열을 배운 사람이라면 알 것입니다. 1부터 n 까지 합은 n*(n+1)/2이다 따라서 a값을 입력받고 출력할때 저 공식을 적용한 n값을 출력하면 됩니다.

 

'BOJ 문제풀이' 카테고리의 다른 글

백준 2742번 c언어풀이  (0) 2020.05.24
백준 2741번 c언어풀이  (0) 2020.05.24
백준 10950번 c언어풀이  (0) 2020.05.15
백준 2739번 c언어풀이  (0) 2020.05.15
백준 2884번 c언어풀이  (0) 2020.05.15