結果

問題 No.889 素数!
コンテスト
ユーザー TakoKurage
提出日時 2019-09-27 11:44:12
言語 Python3
(3.14.7 + numpy 2.5.2 + scipy 1.18.0)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 96 ms / 2,000 ms
+ 718µs
コード長 598 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 305 ms
コンパイル使用メモリ 21,464 KB
実行使用メモリ 15,916 KB
最終ジャッジ日時 2026-09-03 02:46:29
合計ジャッジ時間 9,093 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

def is_prime(N):
    if N < 2 or N % 2 == 0:
        return (N == 2)
    i = 3
    while i * i <= N:
        if N % i == 0:
            return False
        i += 2
    return True

def divisors(N):
    U = int(N ** 0.5) + 1
    L = [i for i in range(1, U) if N % i == 0]
    return L + [N // i for i in reversed(L) if N != i * i]


N = int(input())

if N in [0, 1]:
    print(N)
elif is_prime(N):
    print("Sosu!")
elif int(N ** 0.5) ** 2 == N:
    print("Heihosu!")
elif int(N ** (1 / 3)) ** 3 == N:
    print("Ripposu!")
elif sum(divisors(N)) == 2 * N:
    print("Kanzensu!")
else:
    print(N)
0