[JAVA-자바] 17425번: 약수의 합

2024. 12. 19. 14:27·알고리즘/백준

 

2024.12.17 - [알고리즘/백준] - [JAVA-자바] 17427번: 약수의 합 2

 

[JAVA-자바] 17427번: 약수의 합 2

N의 입력이 들어왔을경우, 1부터 N까지의 수들의 모든 약수를 구해서 더한 결과를 출력하는 문제입니다.N이 1,000,000까지 들어올 수 있으므로 long자료형을 사용하였습니다.일반적으로 약수를 전부

r4b2.tistory.com

이전에 푼 문제를 응용해서 풀 수 있는 문제입니다.

입/출력 문제로 Scanner에서 BufferedReader,Write로 변경하였습니다.

 

소스코드:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        final int maxSize = 1000000;

        // 모든 수의 약수를 저장할 배열
        long[] f = new long[maxSize + 1];
        long[] g = new long[maxSize + 1];

        // 1부터 N까지 1씩 증가하면서 반복
        for (int i = 1; i <= maxSize; i++) {
            // i의 배수에 i를 더하기
            for (int q = i; q <= maxSize; q += i) {
                f[q] += i;
            }
        }

        // 누적합 계산
        for (int i = 1; i <= maxSize; i++) {
            g[i] = g[i - 1] + f[i];
        }

        int T = Integer.parseInt(br.readLine());
        for (int i = 0; i < T; i++) {
            int N = Integer.parseInt(br.readLine());
            bw.write(g[N] + "\n");
        }

        bw.flush();
        bw.close();
    }
}

 

글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.

여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.

'알고리즘 > 백준' 카테고리의 다른 글

[JAVA-자바] 1476번: 날짜 계산  (0) 2024.12.20
[JAVA-자바] 2309번: 일곱 난쟁이  (0) 2024.12.20
[JAVA-자바] 6588번: 골드바흐의 추측  (0) 2024.12.19
[JAVA-자바] 17427번: 약수의 합 2  (0) 2024.12.17
[JAVA-자바] 1929번: 소수 구하기  (0) 2024.12.17
'알고리즘/백준' 카테고리의 다른 글
  • [JAVA-자바] 1476번: 날짜 계산
  • [JAVA-자바] 2309번: 일곱 난쟁이
  • [JAVA-자바] 6588번: 골드바흐의 추측
  • [JAVA-자바] 17427번: 약수의 합 2
raven
raven
Github : https://github.com/RabeMaster | Email : ra___be@naver.com
  • raven
    배움을 원하는 사람
    raven
  • 전체
    오늘
    어제
  • 공지사항

    • 안녕하세요
    • 분류 전체보기 (169)
      • 네이버 부스트캠프 10기 (7)
        • 멤버십 (5)
        • 챌린지 (1)
        • 베이직 (1)
      • 공부 (2)
        • JAVA (1)
        • CS (0)
        • 정보처리기사 (1)
      • 알고리즘 (159)
        • 백준 (159)
      • 개발 (1)
        • 백준 확장 프로그램 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

    코딩테스트
    다이나믹 프로그래밍
    정렬
    java
    스택
    그리디 알고리즘
    그래프 이론
    부스트캠프
    백준
    코딩
    자료 구조
    그래프 탐색
    네이버부스트캠프
    수학
    회고
    최단 경로
    문자열
    IT
    자바
    부트캠프
    브루트포스 알고리즘
    구현
    너비 우선 탐색
    네이버
    코테
    백트래킹
    네부캠
    개발
    알고리즘
    멤버십
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
raven
[JAVA-자바] 17425번: 약수의 합
상단으로

티스토리툴바