結果

問題 No.889 素数!
ユーザー MarcusAureliusAntoninusMarcusAureliusAntoninus
提出日時 2019-09-20 22:09:59
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 599 bytes
コンパイル時間 1,965 ms
コンパイル使用メモリ 195,720 KB
最終ジャッジ日時 2025-01-07 18:44:30
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 61
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘std::string solve()’:
main.cpp:15:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   15 |         scanf("%d", &N);
      |         ~~~~~^~~~~~~~~~

ソースコード

diff #

#include <bits/stdc++.h>

std::string solve();

int main()
{
	std::cout << solve() << std::endl;

	return 0;
}

std::string solve()
{
	int N;
	scanf("%d", &N);
	for (int i{2}; i * i <= N; i++)
		if (i * i == N)
			return "Heihosu!";
	for (int i{2}; i * i * i <= N; i++)
		if (i * i * i == N)
			return "Ripposu!";
	bool is_prime{N > 1};
	for (int i{2}; i < N; i++)
		if (N % i == 0)
		{
			is_prime = false;
			break;
		}
	if (is_prime) return "Sosu!";

	int sum{};
	for (int i{1}; i < N; i++)
		if (N % i == 0)
			sum += i;
	if (sum == N && N > 0) return "Kanzensu!";
	
	return std::to_string(N);
}
0