되는대로 살자

[C언어 기출문제&풀이] 소수 본문

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 }