Algorithm/백준
[백준] 17427번 약수의 합 2
sirius
2021. 2. 25. 10:12
https://www.acmicpc.net/problem/17427
17427번: 약수의 합 2
두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더
www.acmicpc.net
문제 해석이 제일 어렵다.
입력값 N보다 작거나 같은 모든 수의 약수의 합을 구하라는 문제
입력값이 9 라면
- 1의 약수 : 1
- 2의 약수 : 1, 2
- 3의 약수 : 1, 3
- 4의 약수 : 1, 2, 4
- 5의 약수 : 1, 5
- 6의 약수 : 1, 2, 3, 6
- 7의 약수 : 1, 7
- 8의 약수 : 1, 2, 4, 8
- 9의 약수 : 1, 3, 9
의 합을 모두 구하면 된다.
갯수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
9 = 9/1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
4 = 9/2 | 2 | 2 | 2 | 2 | |||||
3 = 9/3 | 3 | 3 | 3 | ||||||
2 = 9/4 | 4 | 4 | |||||||
1 = 9/5 | 5 | ||||||||
1 = 9/6 | 6 | ||||||||
1 = 9/7 | 7 | ||||||||
1 = 9/8 | 8 | ||||||||
1 = 9/9 | 9 |
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
long ans = 0;
for(int i = 1; i <= num; i++) {
ans += (num / i) * i;
}
System.out.println(ans);
}
}