Project Euler
Project Euler #5 : 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수
jyheo98
2020. 8. 7. 10:56
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
|
int main() {
VI primes = { 2, 3, 5, 7, 11, 13, 17, 19 };
VI ans(8);
rep(i, 1, 21) {
rep(j, 0, 8) {
int primesCnt = 0;
int temp = i;
while (1) {
if (temp % primes[j] == 0) {
primesCnt++;
temp /= primes[j];
}
else break;
}
ans[j] = max(ans[j], primesCnt);
}
}
llong ANS = 1;
rep(i, 0, 8) {
rep(j, 0, ans[i]) {
ANS *= primes[i];
}
}
cout << ANS;
return 0;
}
|
cs |
정답 : 232792560