목차

 

 


 

 

[백준 2581번 C/C++] 소수

 

https://www.acmicpc.net/problem/2581

 

2581번: 소수

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

www.acmicpc.net


 

코드

 

#include <stdio.h>
using namespace std;

int main()
{
	int m, n, ch=0, flag=0, sum=0, min;
	scanf("%d", &m);
	scanf("%d", &n);
	
	for(int i=m; i<=n; i++)
	{
        if(i==1) continue;
            
		for(int j=2; j<i; j++)
		{
			if(i%j==0) { flag=1; break;}
		}
		
		if(flag==0) 
		{ 
			if(ch==0) { min=i; ch=1;}
			sum+=i; 
		}
		
		flag=0;	
	}
	
	if(sum>0) printf("%d\n%d", sum, min);
	else printf("-1");
	
	return 0;
}