Algorithm/CodeUp

1284 : 암호 해독

B2SIC 2020. 4. 13. 23:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
 
int primeNumber(int n)
{
    int i = 1;
    
    if (n == 1// 1은 소수가 아님 
        return 0;
    else
    {
        for(i; i <= n; i++)
        {
            if (n % i == 0 && i != 1 && i != n) // 나누어 떨어지는 수가 1과 자기자신 외에 있다면 
            {
                return 0;
            }
        }
    }
 
    return 1;
}
 
int main(void)
{
    int i, j, n;
    
    scanf("%d"&n);
    
    for(i = 1; i <= n / 2; i++)
    {
        if (n % i == 0// 나누어 떨어지는 수를 찾고 
        {
            if (primeNumber(i) && primeNumber(n / i)) // 그 수가 곱으로 나타낼 수 있는 소수면
            {
                printf("%d %d", i, n / i);
                return 0;
            }
        }
    }
    
    printf("wrong number");
    
    return 0;
cs

 

단원 목적이 반복문인 만큼 함수를 사용하고 싶진 않았지만,

 

반복되는 코드 사용을 방지하는 목적 + math.h 대용으로 소수를 판별하는 함수를 작성해서 풀었습니다.