2009~2014/C/C++
[C언어 기출문제&풀이] 소수
malu
2010. 11. 2. 17:05
프로그램 명: prime
제한시간: 1 초
1 보다 큰 정수 P 가 1 과 P 자신 이외의 양의 약수를 가지지 않을 때의 P 를 소수라고 부른다. 이를테면, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 등은 모두 소수이다.
4, 6, 16 등과 같이 소수가 아니면서 2 이상인 자연수를 합성수라고 정의하며, 1 은 소수도 아니고 합성수도 아닌 수이다.
주어진 자연수 N 이 소수인지 아닌지를 판정하라
입력
30,000 이하의 자연수가 입력으로 주어진다.출력
이 수가 소수(prime number)이면 'prime' 아니면 'not prime' 을 출력하시오.입출력 예
입력 4 출력 not prime 입력 7 출력 prime
풀이 : 전에 만들었던 약수를 구하는 함수를 활용한다.
소스코드
01 |
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int m,n,i,count=0; |
06 |
scanf ( "%d %d" ,&m,&n); |
07 |
for (i=2;i<=n;i++) |
08 |
{ |
09 |
if (n%i==0&&m%i==0) |
10 |
count++; |
11 |
} |
12 |
if (count==0) |
13 |
printf ( "yes" ); |
14 |
else |
15 |
printf ( "no" ); |
16 |
} |