Quick actions

cmd+k|ctrl+k

Navigation

Languages

14. 뒤집은 소수

Snippet info

Language

C

Visibility

public

Author

kim112mgxld

Created

2020-09-23T05:21:11Z

Updated

2020-09-23T08:26:47Z

#include <stdio.h>
#include <math.h>

int reverse(int x) {
    int sum = 0;
    int next = 0;
    int revers[100001] = {0};
    int position = 0, multiple = 0;
    
    while(x > 0) {
        next = x % 10;
        x = x / 10;
        
        multiple++;
        revers[position++] = next;
    }
    
    for (int i = 0; i < position; i++) {
        if (i == 0 && revers[i] == 0) {
            multiple--;
            continue;
        }
        
        sum += (pow(10, multiple - 1)) * revers[i];
        
        multiple--;
    }
    
    return sum;
}

int isPrime(int x) {
    int count = 0;
    
    for (int i = 1; i <= x; i++) {
        if (x % i == 0) {
            count++;
        }
        
        if (count > 2) {
            return 0;
        }
    }
    
    return 1;
}

int main(void) {
    int N = 0;
    int numbers[101] = {0};
    
    scanf("%d", &N);
    
    for (int i = 0; i < N; i++) {
        int targetN = 0;
        
        scanf("%d", &targetN);
        
        numbers[i] = reverse(targetN);
    }
    
    for (int i = 0; i < N; i++) {
        if (isPrime(numbers[i])) {
            printf("%d ", numbers[i]);
        }
    }
    
    return 0;
}
INFO