結果
問題 |
No.889 素数!
|
ユーザー |
![]() |
提出日時 | 2020-05-20 09:29:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 767 bytes |
コンパイル時間 | 312 ms |
コンパイル使用メモリ | 81,976 KB |
実行使用メモリ | 53,248 KB |
最終ジャッジ日時 | 2024-10-01 23:26:36 |
合計ジャッジ時間 | 4,455 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 61 |
ソースコード
n = int(input()) L = [0]*64 import math def is_prime(n): if n == 1: return False for i in range(2, int(math.sqrt(n))+1): if n%i == 0: return False return True def make_divisors(n): divisors = [] for i in range(1, int(n**0.5)+1): if n % i == 0: divisors.append(i) if i != n // i: divisors.append(n//i) #divisors.sort(reverse=True) return divisors for i in range(2, 64): d = make_divisors(i) if sum(d)-i == i: L[i] = 'Kanzensu!' for i in range(2, 4): L[i**3] = 'Ripposu!' for i in range(2, 8): L[i**2] = 'Heihosu!' for i in range(1, 64): if is_prime(i): L[i] = 'Sosu!' if L[n] != 0: print(L[n]) else: print(n)