문제.

자연수 숫자를 입력하고, 그 보다 작은 모든 소수를 출력하시오.

(소수는 1과 자신 이외의 수로는 나눌 수 없는 자연수. 1은 소수가 아님)

 

실행결과 1)

Input Number: 100
소수>> 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

 

답은 아래에... ↓

 


 

 

 

 

 

 

스스로 풀어보시고... ↓

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

아래 답과 비교해보세요. ↓

 

 

 

 

 

 

 


문제 풀이

#include <stdio.h>

int main(int argc, char **argv)
{
    int prime[100];
    int idx = 0;
    int i;
    int j;
    int input;
    int is_prime;
    
    printf("Input Number: ");
    scanf("%d", &input);
    
    for(i = 2; i <= input; i++) {
        is_prime = 1;
        for(j = 0; j < idx; j++) {
            if(i % prime[j] == 0) {
                is_prime = 0;
                break;
            }
        }
        if(is_prime) {
            prime[idx++] = i;
        }
    }
    
    printf("소수>> ");
    for(i = 0; i < idx; i++) {
        printf("%d ", prime[i]);
    }
    
    return 0;
}
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

Tag ,

댓글을 달아 주세요