結果
問題 |
No.889 素数!
|
ユーザー |
|
提出日時 | 2020-03-20 17:14:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,078 bytes |
コンパイル時間 | 1,969 ms |
コンパイル使用メモリ | 179,772 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-14 10:35:46 |
合計ジャッジ時間 | 4,041 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 42 WA * 19 |
ソースコード
typedef long long ll; #include <bits/stdc++.h> using namespace std; ll souwa(ll n){ map<ll,ll> e; for (int i = 2; i <= sqrt(n); i++) { while(n%i==0){ e[i]++; n/=i; } } if(n!=1){ e[n]++; } vector<ll> res; for (auto ee : e) { ll tmp = 0; for (int i = 0; i <= ee.second; i++) { tmp += pow(ee.first,i); } res.push_back(tmp); } ll ans = 1; for (auto ee : res) { ans *= ee; } return ans; } int main() { ll n; std::cin >> n; if(n==souwa(n)-n){ std::cout << "Kanzensu!" << std::endl; }else if(n==(ll)sqrt(n)*(ll)sqrt(n)){ std::cout << "Heihosu!" << std::endl; }else if(n==(ll)pow(n,1.0/3.0)*(ll)pow(n,1.0/3.0)*(ll)pow(n,1.0/3.0)){ std::cout << "Ripposu!" << std::endl; }else{ for (int i = 2; i <= sqrt(n); i++) { if(n%i==0){ std::cout << n << std::endl; return 0; } } std::cout << n << std::endl; } }