Files
freeCodeCamp/curriculum/challenges/japanese/10-coding-interview-prep/project-euler/problem-403-lattice-points-enclosed-by-parabola-and-line.md
2022-01-23 00:08:20 +09:00

47 lines
1.2 KiB
Markdown

---
id: 5900f5001000cf542c510013
title: '問題 403: 放物線と線で囲まれた格子点'
challengeType: 5
forumTopicId: 302071
dashedName: problem-403-lattice-points-enclosed-by-parabola-and-line
---
# --description--
整数 $a$ と $b$ に対し、放物線 $y = x^2$ と線 $y = ax + b で囲まれた領域として $D(a, b)$ を定義します。すなわち、D(a, b) = \\{ (x, y) | x^2 ≤ y ≤ ax + b \\}$ です。
$D(a, b)$ に含まれる格子点の数を $L(a, b)$ と定義します。 例えば、$L(1, 2) = 8$, $L(2, -1) = 1$ です。
また、$D(a, b)$ の面積が有理数であり、かつ $|a|,|b| ≤ N$ であるようなすべての対 ($a$, $b$) に対して、$L(a, b)$ の和を $S(N)$ と定義します。
$S(5) = 344$, $S(100) = 26\\,709\\,528$ であることを確認できます。
$S({10}^{12})$ を求めなさい。 $\bmod {10}^8$ で答えること。
# --hints--
`latticePoints()``18224771` を返す必要があります。
```js
assert.strictEqual(latticePoints(), 18224771);
```
# --seed--
## --seed-contents--
```js
function latticePoints() {
return true;
}
latticePoints();
```
# --solutions--
```js
// solution required
```