2022-01-21 01:00:18 +05:30
|
|
|
---
|
|
|
|
id: 5900f52c1000cf542c51003f
|
2022-01-22 20:38:20 +05:30
|
|
|
title: '問題 448: 平均最小公倍数'
|
2022-01-21 01:00:18 +05:30
|
|
|
challengeType: 5
|
|
|
|
forumTopicId: 302120
|
|
|
|
dashedName: problem-448-average-least-common-multiple
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
関数 $lcm(a, b)$ は $a$ と $b$ の最小公倍数を表します。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$1 ≤ i ≤ n$ のとき、$lcm(n, i)$ の値の平均を $A(n)$ とします。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
例: $A(2) = \frac{2 + 2}{2} = 2$ および $A(10) = \frac{10 + 30 + 20 + 30 + 70 + 40 + 90 + 10}{10} = 32$
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$1 ≤ k ≤ n$ のとき、$S(n) = \sum A(k)$ とします。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$S(100) = 122\\,726$
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$S(99\\,999\\,999\\,019)\bmod 999\\,999\\,017$ を求めなさい。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
`averageLCM()` は `106467648` を返す必要があります。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
```js
|
|
|
|
assert.strictEqual(averageLCM(), 106467648);
|
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
|
|
|
function averageLCM() {
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
averageLCM();
|
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|