問題一覧 >
教育的問題
No.2782 メルセンヌ数総乗
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 109
作問者 : 👑
p-adic
/ テスター :
Taka
問題文最終更新日: 2024-03-11 12:07:07
問題文
2 以上の各整数 n に対し Mn=2n−1 と定めます。
正整数 N が与えられます。
∏n=2NMn が MN+1 で割り切れるか否かを判定してください。
総乗の記号 ∏ を知らない人向けの説明はこちらです。(クリックで開く)
正整数 k に対し ∏n=2kMn は次の式で再帰的に定義されます:
n=2∏kMn={1Mk∏n=2k−1Mn(k=1)(k>1)
例えば k が小さい場合の値は次のように計算できます。
n=2∏1Mnn=2∏2Mnn=2∏3Mnn=2∏4Mn====1M2n=2∏1Mn=M2×1=M2M3n=2∏2Mn=M3M2M4n=2∏3Mn=M4M3M2
要するに総乗は数列を順に掛け合わせたものです。
入力
入力は以下の形式で標準入力から 1 行で与えられます:
N
制約
入力は以下の制約を満たします:
- N は 1≤N≤31 を満たす整数である。
出力
∏n=2NMn が MN+1 で割り切れる場合はYes
と出力し、そうでない場合はNo
と出力してください。
最後に改行してください。
サンプル
サンプル1
入力
1
出力
No
n=2∏NMnMN+1==n=2∏1Mn=122−1=3
です。1 は 3 で割り切れないのでNo
と出力します。
サンプル2
入力
2
出力
No
n=2∏NMnMN+1==n=2∏2Mn=M2=323−1=7
です。3 は 7 で割り切れないのでNo
と出力します。
サンプル3
入力
5
出力
Yes
n=2∏NMnMN+1==n=2∏5Mn=M5M4M3M2=31×15×7×3=976526−1=63
です。9765 は 63 で割り切れるのでYes
と出力します。
サンプル4
入力
31
出力
No
n=2∏NMnMN+1==n=2∏31Mn=M31⋯M3M2=59082264910556218588927381962395959089984146823674634884348598265548922511678684778107833428139502347122884103295800680569054115129568844774601953125232−1=4294967295
です。59082264910556218588927381962395959089984146823674634884348598265548922511678684778107833428139502347122884103295800680569054115129568844774601953125 は 4294967295 で割り切れないのでNo
と出力します。
このように64bit整数の範疇に収まらないこともあることに注意してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。