2022-01-21 01:00:18 +05:30
|
|
|
|
---
|
|
|
|
|
id: 5900f53e1000cf542c510051
|
2022-01-22 20:38:20 +05:30
|
|
|
|
title: '問題 466: 掛け算表の相異なる項'
|
2022-01-21 01:00:18 +05:30
|
|
|
|
challengeType: 5
|
|
|
|
|
forumTopicId: 302141
|
|
|
|
|
dashedName: problem-466-distinct-terms-in-a-multiplication-table
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
$m×n$ の掛け算表の相異なる項の個数を $P(m,n)$ とします。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
例えば、3×4 の掛け算表は次のようになります。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-04-02 14:16:30 +05:30
|
|
|
|
$$\begin{array}{c} × & \mathbf{1} & \mathbf{2} & \mathbf{3} & \mathbf{4} \\\\
|
|
|
|
|
\mathbf{1} & 1 & 2 & 3 & 4 \\\\ \mathbf{2} & 2 & 4 & 6 & 8 \\\\
|
|
|
|
|
\mathbf{3} & 3 & 6 & 9 & 12 \end{array}$$
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
8 つの相異なる項 {1, 2, 3, 4, 6, 8, 9, 12} があるので、$P(3, 4) = 8$ です。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
次が与えられます。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-04-02 14:16:30 +05:30
|
|
|
|
$$\begin{align} & P(64, 64) = 1\\,263\\\\
|
|
|
|
|
& P(12, 345) = 1\\,998 \text{ および} \\\\ & P(32, {10}^{15}) = 13\\,826\\,382\\,602\\,124\\,302 \\\\
|
|
|
|
|
\end{align}$$
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
$P(64, {10}^{16})$ を求めなさい。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
|
`multiplicationTable()` は `258381958195474750` を返す必要があります。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert.strictEqual(multiplicationTable(), 258381958195474750);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
function multiplicationTable() {
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
multiplicationTable();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// solution required
|
|
|
|
|
```
|