No.2620 Sieve of Coins
タグ : / 解いたユーザー数 14
作問者 :


問題文
机の上に 枚のコインが置かれています。
左から ( ) 枚目のコインをコイン と呼ぶことにすると、
コイン は表向き、それ以外のコインは裏向きになっています。
この状態から開始し、 の順で以下の操作を行います。
- コイン が裏向きなら何もしない。
- コイン が表向きなら、各整数 ( ) について、コイン の表裏を反転する。
入力
全てのテストケースは以下の制約を満たす。
- 入力は全て整数
- () は 以上の素因数を持たない
sample_01.txt~sample_05.txt
, subtask1_*.txt
, subtask2_*.txt
, subtask3_*.txt
, subtask4_*.txt
の順に配置する。各テストケース名において、追加で以下の制約を満たす。
sample_01.txt~sample_05.txt
は、サンプル1~サンプル5に対応するsubtask1_*.txt
( ケース)では、 を満たすsubtask2_*.txt
( ケース)では、 を満たすsubtask3_*.txt
( ケース)では、 を満たすsubtask4_*.txt
( ケース)では、追加の制約はない
また、コンテスト本番ではACを取るまでテストケース名が見えないので、subtaskを試す場合は制約を満たさないケースをassert文などで
Runtime Error
にすることを推奨します。出力
答えとなる整数を 行で出力してください。最後に改行してください。
サンプル
サンプル1
入力
8 1 1
出力
6
コインの表裏は次のようになります。
回目の操作ではコイン が裏向きなので、コイン の向きはそのままになります。
回目以降の操作ではコインの反転が起こりません。
したがって、最終的にはコイン の 枚が表を向いています。
操作回数 | コインの表裏 |
---|---|
表, 裏, 裏, 裏, 裏, 裏, 裏, 裏 | |
表, 表, 表, 表, 表, 表, 表, 表 | |
表, 表, 表, 裏, 表, 裏, 表, 裏 | |
表, 表, 表, 裏, 表, 表, 表, 裏 | |
表, 表, 表, 裏, 表, 表, 表, 裏 |
サンプル2
入力
8 3 1 2 3
出力
5
コインの表裏は次のようになります。
回目の操作によってコイン が裏を向きます。
よって、 回目の操作では反転が起こりません。
回目の操作では コイン が表向きです。
そのため、コイン の向きが表から裏になります。
回目以降は反転が起こりません。
よって、最終的にはコイン の 枚が表向きになります。
操作回数 | コインの表裏 |
---|---|
表, 表, 表, 裏, 裏, 裏, 裏, 裏 | |
表, 裏, 裏, 表, 表, 表, 表, 表 | |
表, 裏, 裏, 表, 表, 表, 表, 表 | |
表, 裏, 裏, 表, 表, 表, 表, 表 | |
表, 裏, 裏, 表, 表, 表, 表, 裏 |
サンプル3
入力
100000 8 1 2 3 4 6 8 9 12
出力
37999
このケースは、subtask1_*.txt、subtask3_*.txt、subtask4_*.txt の制約を満たします。
サンプル4
入力
1000000000000 1 1
出力
607927102274
このケースは、subtask2_*.txt、subtask3_*.txt、subtask4_*.txt の制約を満たします。
サンプル5
入力
1000000000000 8 1 2 3 4 6 8 9 12
出力
379954438788
このケースは、subtask3_*.txt、subtask4_*.txt の制約を満たします。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。