728x90
문제
풀이 방법
1. N 이하의 수에서 어떤 수 i를 약수로 가지는 수의 개수는 N/i개 이다.
2. 그러므로 N/i(자신을 포함한 약수의 개수) - 1 * i(값) 으로 구하면 됩니다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int N;
private static long sum = 0;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
N = Integer.parseInt(br.readLine());
}
//실행
public static void process() {
for(int i = 2 ; i < N ; i++){
sum+=(N/i-1)*i;
}
sum %= 1000000;
System.out.println(sum);
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2247번 : 실질적 약수 (1) | 2024.04.21 |
---|---|
[Java] 백준 16970번 : 정수 좌표의 개수 (0) | 2024.04.21 |
[Java] 백준 10859번 : 뒤집어진 소수 (0) | 2024.04.19 |
[Java] 백준 14232번 : 보석 도둑 (0) | 2024.04.18 |
[Java] 백준 1874번 : 스택 수열 (0) | 2024.04.16 |