Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_1789] 수들의 합 본문

Study/Problem Solving

[BOJ_1789] 수들의 합

monitor 2023. 10. 4. 21:44

설명


등차수열

 

사실 {n/(n+1)}/ 2 이것을 외우고 있었기 때문에 풀 수 있었던 문제였다.

 

1~100 까지 모두 더 한 값이 5050이다. 이것을 생각 했을 때 등차 수열의 형태로 모두 지나가는 자연수를 더하면서 가면 최대로 서로 다른 수를 사용하면서 자연수 N을 만들 수 있을 것이라고 생각했다. (1,2,3,4,3 = 서로 다른 수를 최대로 사용하면서 13을 만들기 위한 값들) 등차수열을 최대로 활용하고 나머지 하나를 빼면 된다. 그렇기 때문에 아래와 같은 식이 나왔다.

코드


package Math;
import java.io.*;
public class BOJ_1789 {
    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        long S = Long.parseLong(in.readLine());
        long ans = 0;
        for(long i = 0; i < 100000; i++){
            if(((i*(i+1))/2) > S){
                ans = i-1;
                break;
            }
        }
        System.out.println(ans);
    }
}
 

1789번: 수들의 합

첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다.

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[BOJ_14888] 연산자 끼워넣기  (0) 2023.10.08
[BOJ_10971] 외판원 순회 2  (0) 2023.10.05
[BOJ_1182] 부분수열의 합  (1) 2023.10.04
[BOJ_15664] N과 M (9~12)  (1) 2023.10.03
[BOJ_15656] N과 M (7)  (0) 2023.10.02