728x90
반응형
문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1013&sca=2040
문제
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최소값을 찾는 프로그램을 작성하시오.
예를 들어 M=60, N=100이 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로,
이들 소수의 합은 620이고, 최소값은 61이 된다.
# 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
반응형
최근댓글