2022-01-21 01:00:18 +05:30
|
|
|
---
|
|
|
|
id: 5900f4d01000cf542c50ffe2
|
2022-01-22 20:38:20 +05:30
|
|
|
title: '問題 355: 最大の互いに素な部分集合'
|
2022-01-21 01:00:18 +05:30
|
|
|
challengeType: 5
|
|
|
|
forumTopicId: 302015
|
|
|
|
dashedName: problem-355-maximal-coprime-subset
|
|
|
|
---
|
|
|
|
|
|
|
|
# --description--
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$\\{1, 2, \ldots, n\\}$ の要素のうち互いに素な要素の集合の最大和を、$Co(n)$ と定義します。 例えば、 $Co(10)$ は 30 であり、最大の部分集合は $\\{1, 5, 7, 8, 9\\}$ になります。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$Co(30) = 193$ と $Co(100) = 1356$ が与えられます。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
$Co(200\\,000)$ を求めなさい。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
# --hints--
|
|
|
|
|
2022-01-22 20:38:20 +05:30
|
|
|
`maximalCoprimeSubset()` は `1726545007` を返す必要があります。
|
2022-01-21 01:00:18 +05:30
|
|
|
|
|
|
|
```js
|
|
|
|
assert.strictEqual(maximalCoprimeSubset(), 1726545007);
|
|
|
|
```
|
|
|
|
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
```js
|
|
|
|
function maximalCoprimeSubset() {
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
maximalCoprimeSubset();
|
|
|
|
```
|
|
|
|
|
|
|
|
# --solutions--
|
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|