Programming/백준

[1일 1백준 : 2581번] 소수

HyeunJae 2021. 3. 8. 19:21
#include <iostream>

bool IsPrime(int Number)
{
	if (Number < 2)
		return false;

	for (int i = 2; i < Number; i++)
	{
		if (Number % i == 0)
			return false;
	}

	return true;
}

void FindPrimeNumber(int M, int N)
{
	int smallest = 2147483647;
	int sum = 0;

	for (int i = M; i <= N; i++)
	{
		if (!IsPrime(i))
			continue;

		if (smallest > i)
			smallest = i;
		sum += i;
	}
	if (sum == 0)
	{
		std::cout << "-1" << "\n";
		return;
	}

	std::cout << sum << "\n";
	std::cout << smallest << "\n";

}


int main(void)
{
	std::cin.tie(NULL);
	std::cout.tie(NULL);
	std::cout.sync_with_stdio(false);


	int M, N;

	std::cin >> M;
	std::cin >> N;

	FindPrimeNumber(M, N);

	return 0;
}

2581번: 소수 (acmicpc.net)

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net