結果
問題 | No.889 素数! |
ユーザー |
|
提出日時 | 2020-01-19 16:57:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 30 ms / 2,000 ms |
コード長 | 772 bytes |
コンパイル時間 | 105 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-07-02 21:52:50 |
合計ジャッジ時間 | 3,172 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 61 |
ソースコード
# 2020/01/19 n=int(input()) if n<2: print(n) exit() def divisors(n): div=[] for i in range(1,int(n**0.5)+1): if n%i==0: div.append(i) if i!=n//i: div.append(n//i) div.sort() return div from collections import Counter def trial_div(n): prime=Counter() for i in range(2,int(pow(n,0.5)+2)): while n%i==0: n//=i prime[i]+=1 if n>1:prime[n]+=1 return prime div=divisors(n) if len(div)==2: print('Sosu!') exit() td=trial_div(n) def check(n): return all(map(lambda x: x%n==0,td.values())) if check(2): print('Heihosu!') elif check(3): print('Ripposu!') elif sum(div[:-1])==n: print('Kanzensu!') else: print(n)