結果

問題 No.889 素数!
ユーザー tktk_snsn
提出日時 2021-02-06 14:55:17
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 29 ms / 2,000 ms
コード長 1,126 bytes
コンパイル時間 82 ms
コンパイル使用メモリ 12,544 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-07-02 23:23:27
合計ジャッジ時間 3,225 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

def isPrime(n):  # nが素数か判定する
    if n == 0 or n == 1:
        return False
    if n == 2:
        return True
    if n % 2 == 0:
        return False
    for i in range(3, int(n ** 0.5) + 1, 2):
        if n % i == 0:
            return False
    return True


def is_square(n):
    i = 1
    while True:
        if i * i == n:
            return True
        elif i * i > n:
            return False
        i += 1
    return False


def is_cube(n):
    i = 1
    while True:
        if i * i * i == n:
            return True
        elif i * i * i > n:
            return False
        i += 1
    return False


def is_perf(n):
    cnt = 0
    for i in range(1, n):
        if n % i == 0:
            cnt += i
    return n == cnt


def judge(n):
    if n < 2:
        print(n)
        return
    if isPrime(n):
        print("Sosu!")
        return
    if is_square(n):
        print("Heihosu!")
        return
    if is_cube(n):
        print("Ripposu!")
        return
    if is_perf(n):
        print("Kanzensu!")
        return
    print(n)


if __name__ == "__main__":
    n = int(input())
    judge(n)
0