結果
問題 | No.889 素数! |
ユーザー |
![]() |
提出日時 | 2019-09-20 21:37:54 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 813 bytes |
コンパイル時間 | 1,675 ms |
コンパイル使用メモリ | 168,112 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-14 16:51:29 |
合計ジャッジ時間 | 3,168 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 61 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(void){ long long N; cin >> N; int flag = 0; long long divisor_sum = 0; for (long long i = 1; i * i <= N; i++) { if (N % i == 0) { divisor_sum += i; if (i != N/i) divisor_sum += N/i; } if (i * i == N) flag = 1; if (i * i * i == N) flag = 2; } divisor_sum -= N; if (2 <= N) { if (divisor_sum == 1) { cout << "Sosu!" << endl; } else if (flag == 1) { cout << "Heihosu!" << endl; } else if (flag == 2) { cout << "Ripposu!" << endl; } else if (divisor_sum == N) { cout << "Kanzensu!" << endl; } else { cout << N << endl; } } else { cout << N << endl; } }