반응형
백준 알고리즘 문제의 단계별 문제의 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번째 기본 반복문 문제인 합을 풀어보았습니다.
반응형
'코딩 - > 백준 알고리즘 해설' 카테고리의 다른 글
백준 알고리즘 단계별 문제풀이 3 . for문 , N 찍기 (백준 2741번) (0) | 2021.07.06 |
---|---|
백준 알고리즘 단계별 문제풀이 3 . for문 , 빠른 A+B (0) | 2021.06.28 |
백준 알고리즘 단계별 문제풀이 3 . for문 , A+B - 3 (0) | 2021.06.28 |
백준 알고리즘 단계별 문제풀이 3 . for문 , 구구단 (0) | 2021.06.28 |
백준 알고리즘 단계별 문제풀이 2 . if문 , 알람 시계 (0) | 2021.06.28 |