結果

問題 No.889 素数!
ユーザー m1025o1184t
提出日時 2019-10-09 21:24:03
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 2,000 ms
コード長 1,227 bytes
コンパイル時間 1,912 ms
コンパイル使用メモリ 170,148 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-17 17:19:57
合計ジャッジ時間 3,787 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(n);++i)
using namespace std;
typedef long long ll;

class Prime
{
	int i, iLimit;

public:
	bool isPrime(int a);
};

bool Prime::isPrime(int a)
{
	if (a == 1) return false;

	iLimit = (int)sqrt(a);
	for (i = 2; i <= iLimit; i++) {
		if (a % i == 0) break;
	}
	if (i == iLimit + 1) {
		return true;
	}
	else {
		return false;
	}
}

int func(int a) {
	int res;
	for (int i = 1; i < a; i++) {
		if (i * i == a) return true;
	}
	return false;
}

int func1(int a) {
	for (int i = 1; i < a; i++) {
		if (i * i * i == a) return true;
	}
	return false;
}

int func2(int a) {
	vector<int> g(0);
	for (int i = 1; i < a; i++) {
		if (a % i == 0) g.push_back(i);
	}
	int res = 0;
	rep(i, g.size()) res += g[i];
	if (res == a) return true;
	else return false;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n;
	cin >> n;
	bool elf;
	Prime objPrime;
	elf = objPrime.isPrime(n);
	if (n == 0) {
		cout << 0 << endl;
		return 0;
	}
	if (elf) cout << "Sosu!" << endl;
	else {
		if (func(n)) cout << "Heihosu!" << endl;
		else {
			if (func1(n)) cout << "Ripposu!" << endl;
			else {
				if (func2(n)) cout << "Kanzensu!" << endl;
				else cout << n << endl;
			}
		}
	}
}
0