結果

問題 No.889 素数!
ユーザー tails1434
提出日時 2019-12-31 21:02:01
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 40 ms / 2,000 ms
コード長 1,060 bytes
コンパイル時間 236 ms
コンパイル使用メモリ 82,464 KB
実行使用メモリ 54,232 KB
最終ジャッジ日時 2024-11-20 14:46:48
合計ジャッジ時間 4,647 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

def isprime(N):
    if N == 1:
        return False
    for i in range(2, int(N ** 0.5) + 1):
        if N % i == 0:
            return False
    return True

def issquare(N):
    if N ** (1 / 2) == int(N ** (1 / 2)):
        return True
    return False

def iscubic(N):
    if N ** (1 / 3) == int(N ** (1 / 3)):
        return True
    return False

def isperfect(N):
    ass = []
    for i in range(1, int(N ** 0.5) + 1):
        if N % i == 0:
            ass.append(i)
            if i ** 2 == N:
                continue
            if i == 1:
                continue
            ass.append(N // i)
    
    if N == sum(ass):
        return True

    return False




def main():
    N = int(input())
    
    if N < 2:
        print(N)
        exit()
    if isprime(N):
        print('Sosu!')
        exit()
    if issquare(N):
        print('Heihosu!')
        exit()
    if iscubic(N):
        print('Ripposu!')
        exit()
    if isperfect(N):
        print('Kanzensu!')
        exit()

    print(N)

    



if __name__ == "__main__":
    main()
0