리메이크 중/C,C++ 실습 중심

C(&C++) 실습 7. 1~N까지의 합

라이피 (Lypi) 2021. 6. 27. 16:00
반응형


문제 출처

backjoon 8939번 문제


0. 문제

ⅰ. 1부터 입력받은 수까지의 합을 출력하라.

■ 1~N까지의 합은 for문을 이용해도 되고, 시그마 공식 "N*(N+1)/2" 을 이용해도 된다.

■ 입력되는 값은 1이상 10000이하의 값이다.


Ⅰ. 코드

ⅰ. for문을 이용한 풀이

#include <iostream>
using namespace std;

int main()
{
    int N, sum = 0;
    cin >> N;
    
    for (int i = 1; i <= N; i++) {
        sum += i;
    }
    
    cout << sum;
    
    return 0;
}

■ 0으로 초기화시킨 sum 변수를 만들어둔 뒤, for문을 돌며 값을 누적시키는 방식이다.


ⅱ. 시그마 공식 "N*(N+1)/2" 을 이용한 풀이

#include <iostream>
using namespace std;

int main()
{
    int N;
    cin >> N;
    
    cout << N*(N+1)/2;
    
    return 0;
}

■ 공식을 이용하여 계산했다.

 


Ⅲ. 결론

■ 문제의 해법은 여러가지가 있을 수 있다.

■ 수학 공식을 이용한 풀이를 알고 있다면 메모리나 시간의 관점에서 좀 더 유리하다.

■ 하지만 프로그래밍적 방법으로 푸는 것도 결코 틀린 풀이는 아니다.

■ 뭐가 됐든 공부를 계속 해나가는게 중요하다.

반응형