結果
| 問題 |
No.2782 メルセンヌ数総乗
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-06-14 21:40:22 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 40 ms / 2,000 ms |
| コード長 | 592 bytes |
| コンパイル時間 | 217 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 54,016 KB |
| 最終ジャッジ日時 | 2024-06-14 21:40:24 |
| 合計ジャッジ時間 | 1,746 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
ソースコード
# 2以上の各整数nに対し、M_n = 2^n - 1 と定める
# 与えられた正整数Nについて
# M_2×M_3×...×M_N が M_(N+1) で割り切れるかどうかを判定せよ
#
# 1 <= N <= 31
# Nは整数
import sys
import itertools
import time
from math import radians, sin, cos, tan, sqrt
from collections import deque
def input():
return sys.stdin.readline().replace('\n','')
sys.setrecursionlimit(1000000)
md1 = 998244353
md2 = 10 ** 9 + 7
N = int(input())
P = 1
for i in range(2, N+1):
P *= (2**i - 1)
if P % (2**(N+1) - 1) == 0:
print('Yes')
else:
print('No')