SMALL
안녕하세요 오늘은 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값을 출력하면 됩니다.
LIST
'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 |