728x90
반응형

문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1013&sca=2040

 

JUNGOL

 

www.jungol.co.kr

문제

자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최소값을 찾는 프로그램을 작성하시오.

 

예를 들어 M=60, N=100이 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 

이들 소수의 합은 620이고, 최소값은 61이 된다.

 

[그림1] 입 출력 형식
[그림2] 입 출력 예제

 

 

# include <stdio.h>
# include <limits.h>

int prime(int num)
{
	int i,cnt = 0;
	for(i = 2; i<=num; i++)
	{
		if(num%i == 0)
			cnt++;
		
		
	}
	if(cnt == 1)
		return num;
	else
		return 0;
		
}

int main()
{
	int m,n,i,j,sum =0,temp;
	int min = INT_MAX;
	scanf("%d",&m);
	scanf("%d",&n);
	
	for(i = m; i<=n; i++)
	{
		
		temp = prime(i);
		sum += temp;
		
		if(temp != 0)
		{
			if(min > temp)
				min = temp;
			
		}
		
		
	}
	
	if(sum == 0)
	{
		printf("%d",-1);
		return 0;
	}
	else
	{
		printf("%d\n%d",sum,min);
		return 0;
	}
	
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기