結果
問題 |
No.2795 Perfect Number
|
ユーザー |
|
提出日時 | 2024-06-28 21:42:41 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 662 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 62,592 KB |
最終ジャッジ日時 | 2024-06-28 21:42:46 |
合計ジャッジ時間 | 3,951 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 2 TLE * 1 -- * 32 |
ソースコード
from sys import stdin from math import sqrt n = int(stdin.readline()) # 素因数分解をする def prime_factorization_multi(num): divisors = {} for prime in range(2, num + 1): expon = 0 while (num % prime) == 0: expon += 1 num //= prime if expon != 0: divisors[prime] = expon return divisors # 素因数分解の結果から約数和を出す def get_divisors_sum(divisors): res = 1 for d, p in divisors.items(): n = (d ** (p + 1) - 1) // (d - 1) res *= n return res divs = prime_factorization_multi(n) if get_divisors_sum(divs) == (2 * n): print("Yes") else: print("No")