2009~2014/C/C++
[C언어 기출문제&풀이] 에라토스테네스의 체
malu
2010. 11. 2. 22:02
n 이 입력으로 주어진다. 2 부터 n 까지의 소수(prime number)를 출력하는 문제이다.
입력
입력되는 수 n 은 2 이상 10000 이하의 자연수이다.출력
2 부터 n 까지( 2 와 n 포함 )의 모든 소수를 한 줄에 출력한다.입출력 예
입력 10 출력 2 3 5 7
풀이 : 1부터 입력값 까지 반복문을 실행하면서 소수를 찾는다.
소스코드
01 |
#include <stdio.h> |
02 |
|
03 |
int sosu( int n); |
04 |
|
05 |
int sosu( int n) |
06 |
{ |
07 |
int i; |
08 |
for (i = 2;i < n;i++){ |
09 |
if (n%i == 0) break ; |
10 |
} |
11 |
if (i == n) return 1; |
12 |
else return 0; |
13 |
} |
14 |
|
15 |
int main() |
16 |
{ |
17 |
int n,i; |
18 |
scanf ( "%d" ,&n); |
19 |
for (i=2;i<=n;i++) |
20 |
{ |
21 |
if (sosu(i)) printf ( "%d " ,i); |
22 |
} |
23 |
} |