https://yukicoder.me/problems/no/889
解説
https://yukicoder.me/submissions/382002
いろいろな種類の数に対する判定をする問題。
こういうものは関数化してライブラリとして持っておこう。
完全数判定なんて、どこで使うかわからないが、いつか役立ったりする。
全部の判定問題は基本的には、 O(sqrt(N))の素数判定を改造したものになる。
int N; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; if (2 <= N and isprime(N)) cout << "Sosu!" << endl; else if (2 <= N and isSquare(N)) cout << "Heihosu!" << endl; else if (2 <= N and isCubic(N)) cout << "Ripposu!" << endl; else if (isPerfectNumber(N)) cout << "Kanzensu!" << endl; else cout << N << endl; }