알고리즘 문제풀기/인프런 강의 정답
14. 뒤집은 소수 [코드구현력 기르기]
코다람쥐
2022. 3. 20. 14:45
나의정답.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int num[6] = {};
int reverse(int x) {
int digit = 0;
int res = 0;
int temp = x;
while (temp > 0) {
temp /= 10;
digit++;
}
for (int i = 0; i < digit; i++) {
num[i] = (x % 10);
x /= 10;
}
for (int i = 0; i < digit; i++)
{
for (int j = i; j < digit - 1; j++) {
num[i] *= 10;
}
res += num[i];
}
return res;
}
bool isPrime(int x) {
for (int i = 2; i < x; i++) {
if (x % i == 0) {
return false;
}
}
return true;
}
int main(int argc, char** argv) {
//freopen("input.txt", "rt", stdin);
int i;
int n;
int prime[100];
int input;
int rev;
int cnt = 0;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &input);
rev = reverse(input);
if (isPrime(rev) && rev != 1) {
prime[cnt++] = rev;
}
}
for (i = 0; i < cnt; i++) {
printf("%d ", prime[i]);
}
}
// A 65, Z 90
// a 97, z 122
// '0' 48