본문 바로가기

코딩 -/백준 알고리즘 해설

백준 알고리즘 단계별 문제풀이 3 . for문 , 합

반응형

백준 알고리즘 문제의 단계별 문제의 3번. for문 파트입니다.

 

  <출처 - 백준 알고리즘 문제 - 단계별 문제풀이 for 파트 3번 >

 

문제의 의도는 반복문의 활용이지만(1 부터 n까지 sum 을 더해가는 구조) , 알고리즘 측면에서 연산수를 줄여봅시다.

1~n의 합은 n*(n+1)/2 라는 수학공식을 이용하면  

빅 O 의 1 로 떨어지기때문에 그렇게 풀겠습니다.

 

 

C언어입니다.

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

 

 

C++입니다.

#include <iostream>
using namespace std;
int main(){
	int n;
    cin>>n;
    cout<<n*(n+1)/2;
}

 

 

 

python입니다

n=input()
n = int(n)
print("{}".format(int(n*(n+1)/2)))

 

 

 

Java입니다.

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
        int n;
        n = scan.nextInt();
        System.out.printf("%d\n",n*(n+1)/2);
	}
}

 

이것으로 3번째 기본  반복문 문제인 합을 풀어보았습니다.

 

반응형