はまやんはまやんはまやん

hamayanhamayan's blog

素数! [yukicoder 889]

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;
}