2022-01-20 19:30:18 +00:00
|
|
|
---
|
|
|
|
id: 5900f4e11000cf542c50fff3
|
2022-01-22 15:08:20 +00:00
|
|
|
title: '問題 372: 光線束'
|
2022-01-20 19:30:18 +00:00
|
|
|
challengeType: 5
|
|
|
|
forumTopicId: 302034
|
|
|
|
dashedName: problem-372-pencils-of-rays
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2022-01-22 15:08:20 +00:00
|
|
|
$M \lt x \le N$, $M \lt y \le N$ を満たし $\left\lfloor\frac{y^2}{x^2}\right\rfloor$ が奇数になるような格子点 ($x$, $y$) の数を、$R(M, N)$ とします。
|
2022-01-20 19:30:18 +00:00
|
|
|
|
2022-01-22 15:08:20 +00:00
|
|
|
$R(0, 100) = 3\\,019$, $R(100, 10\\,000) = 29\\,750\\,422$ であることを確認できます。
|
2022-01-20 19:30:18 +00:00
|
|
|
|
2022-01-22 15:08:20 +00:00
|
|
|
$R(2 \times {10}^6, {10}^9)$ を求めなさい。
|
2022-01-20 19:30:18 +00:00
|
|
|
|
2022-01-22 15:08:20 +00:00
|
|
|
**注:** $\lfloor x\rfloor$ は床関数を表します。
|
2022-01-20 19:30:18 +00:00
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2022-01-22 15:08:20 +00:00
|
|
|
`pencilsOfRays()` は `301450082318807040` を返す必要があります。
|
2022-01-20 19:30:18 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
assert.strictEqual(pencilsOfRays(), 301450082318807040);
|
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
|
|
|
function pencilsOfRays() {
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
pencilsOfRays();
|
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|