[Algorithm] 소수의 합 구하기

임의의 정수를 입력받아 그 안에 포함된 소수의 합을 구하기

입력받은 숫자 X의 범위에 속하는 모든 소스의 합계를 구하려면 숫자 2에서 X까지 증가시키면서 각각의 숫자가 소수인지를 판별한 후, 그 수가 소수일 때만 합계에 누적시키면 됩니다.

[C언어] 소수를 판별하는 알고리즘

 

C언어 / C++ 코드

#include<stdio.h>

main(){
	int a, sum, i, j;
	scanf("%d",&a); //정수형 변수 a에 정수를 입력받습니다.
	
	sum=0;
	i=2;
	j=2;
	
	while(1){ //무한루프 
		j=2;;
		while(i%j!=0) //i를 j로 나눈 나머지가 0 이아니라면 반복문을 수행합니다. 
			j++; 
			
		if(i==j){ //i와 j가 같으면 sum의 값에 i를 누적시킵니다. 
			sum+=i;
		}
		
		if(i<a){ //i가 a보다 작으면 i를 1증가시킵니다. 
			i++;
		}else{
			printf("%d번째까지 소수의 합= %d",a,sum);
			break;
		}
	} 
}

결과값

 

댓글

Designed by JB FACTORY