結果
問題 | No.2954 Calculation of Exponentiation |
ユーザー | 👑 binap |
提出日時 | 2024-10-19 11:09:43 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 58 ms / 2,000 ms |
コード長 | 1,289 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 82,416 KB |
実行使用メモリ | 68,120 KB |
最終ジャッジ日時 | 2024-10-24 02:07:31 |
合計ジャッジ時間 | 2,841 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 54 ms
66,584 KB |
testcase_01 | AC | 52 ms
67,324 KB |
testcase_02 | AC | 53 ms
67,556 KB |
testcase_03 | AC | 54 ms
67,848 KB |
testcase_04 | AC | 53 ms
67,864 KB |
testcase_05 | AC | 53 ms
67,456 KB |
testcase_06 | AC | 53 ms
66,588 KB |
testcase_07 | AC | 54 ms
67,552 KB |
testcase_08 | AC | 53 ms
67,636 KB |
testcase_09 | AC | 54 ms
68,120 KB |
testcase_10 | AC | 54 ms
66,612 KB |
testcase_11 | AC | 54 ms
66,300 KB |
testcase_12 | AC | 54 ms
66,756 KB |
testcase_13 | AC | 58 ms
67,772 KB |
testcase_14 | AC | 55 ms
66,764 KB |
testcase_15 | AC | 56 ms
67,316 KB |
testcase_16 | AC | 53 ms
66,772 KB |
testcase_17 | AC | 53 ms
67,020 KB |
testcase_18 | AC | 53 ms
68,120 KB |
testcase_19 | AC | 53 ms
67,224 KB |
testcase_20 | AC | 53 ms
67,052 KB |
testcase_21 | AC | 53 ms
67,152 KB |
testcase_22 | AC | 52 ms
66,472 KB |
testcase_23 | AC | 54 ms
67,096 KB |
testcase_24 | AC | 55 ms
67,420 KB |
testcase_25 | AC | 54 ms
66,948 KB |
testcase_26 | AC | 54 ms
67,616 KB |
testcase_27 | AC | 54 ms
67,272 KB |
testcase_28 | AC | 53 ms
66,420 KB |
testcase_29 | AC | 53 ms
67,292 KB |
testcase_30 | AC | 54 ms
68,028 KB |
ソースコード
import sys from collections import defaultdict import math class Sieve: def __init__(self, n=1): self.n = n self.f = [0] * (n + 1) self.primes = [] self._sieve() def _sieve(self): self.f[0] = self.f[1] = -1 for i in range(2, self.n + 1): if self.f[i]: continue self.primes.append(i) self.f[i] = i for j in range(i * i, self.n + 1, i): if not self.f[j]: self.f[j] = i def factor(self, x): res = [] for p in self.primes: count = 0 while x % p == 0: x //= p count += 1 res.append((p, count)) if x != 1: res.append((x, 1)) return res def solve(): # Read a single line of input, split by space, and map to float A, B = map(float, input().split()) a = round(A * 10000) b = round(B * 10000) sieve = Sieve(100005) factors = sieve.factor(a) ans = "Yes" for p, num in factors: if p == 2 or p == 5: num -= 4 if num * b < 0: ans = "No" if num * b % 10000 != 0: ans = "No" print(ans) if __name__ == "__main__": solve()