結果
| 問題 |
No.251 大きな桁の復習問題(1)
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-03-20 20:46:55 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 49 ms / 5,000 ms |
| コード長 | 549 bytes |
| コンパイル時間 | 151 ms |
| コンパイル使用メモリ | 82,696 KB |
| 実行使用メモリ | 68,440 KB |
| 最終ジャッジ日時 | 2025-03-20 20:46:58 |
| 合計ジャッジ時間 | 2,256 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
def is_zero(s):
return all(c == '0' for c in s)
def str_mod(s, mod):
result = 0
for c in s:
result = (result * 10 + int(c)) % mod
return result
n_str = input().strip()
m_str = input().strip()
mod_p = 129402307
mod_euler = mod_p - 1
m_is_zero = is_zero(m_str)
if m_is_zero:
print(1 % mod_p)
else:
a = str_mod(n_str, mod_p)
if a == 0:
print(0)
else:
m_mod = str_mod(m_str, mod_euler)
exp = m_mod if m_mod != 0 else mod_euler
result = pow(a, exp, mod_p)
print(result)
lam6er