結果
問題 |
No.889 素数!
|
ユーザー |
![]() |
提出日時 | 2020-07-05 18:30:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,090 bytes |
コンパイル時間 | 695 ms |
コンパイル使用メモリ | 80,648 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-22 16:56:55 |
合計ジャッジ時間 | 2,297 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 60 WA * 1 |
ソースコード
#include <vector> #include <iostream> #include <algorithm> #include <functional> #include <string> #include <math.h> #include <map> using namespace std; bool is_prime(long long x){ bool res=true; if(x==1)res=false; for(long long i=2;i*i<=x;i++){ if(x%i==0){ res=false; return res; } } return res; } bool is_rippo(long long x){ bool res=false; if(x==1)res=false; for(long long i=2;i*i*i<=x;i++){ if(i*i*i==x){ res=true; return res; } } return res; } bool is_kanzen(long long x){ bool res=false; if(x==1){ res=false; return res; } long long sum=1; for(long long i=2;i*i<=x;i++){ if(x%i==0){ sum+=i; if(x/i==i)continue; sum+=x/i; } } if(sum==x){ res=true; } return res; } int main(){ int n; cin >> n; if(is_prime(n)){ cout << "Sosu!" << endl; return 0; } int temp=sqrt(n); if(temp*temp==n && n!=1){ cout << "Heihosu!" << endl; return 0; } if(is_rippo(n)){ cout << "Ripposu!" << endl; return 0; } if(is_kanzen(n)){ cout << "Kanzensu!" << endl; return 0; } cout << n << endl; return 0; }