C언어 문제은행
[C문제은행] 뒤집은 소수
Coder101
2022. 2. 16. 22:07
문제여러 숫자를 입력받고, 각 숫자가 뒤집었을 때 소수이면 출력을 하는 프로그램을 만들어보세요.조건 1 : 숫자를 뒤집었을 때 소수이면 출력을 합니다 (ex. 32를 뒤집었을 때 23이고, 23은 소수이므로 출력) 조건 2 : 최소 두 개 이상의 함수를 사용해주세요. |
입력예시 1
입력받을 숫자의 개수를 입력해주세요: 3
각 1번째 숫자를 입력해주세요: 32
각 2번째 숫자를 입력해주세요: 11
각 3번째 숫자를 입력해주세요: 71
출력예시 1
32 11 71
입력예시 2
입력받을 숫자의 개수를 입력해주세요: 2
각 1번째 숫자를 입력해주세요: 23
각 2번째 숫자를 입력해주세요: 34
출력예시 2
34
<예시코드>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Prime (int n); //숫자가 소수인지 아닌지 구분해주는 함수
int Reverse(int n); //입력 받은 숫자를 뒤집어 주는 함수
int main(void)
{
int num;
int arr[100]={0,};
printf("입력 받을 숫자의 개수를 입력해주세요:");
scanf("%d", &num);
for(int i = 0; i < num; i++)
{
printf("%d번째 숫자를 입력해주세요:", i+1);
scanf("%d", &arr[i]);
}
for(int i = 0; i < num; i++)
{
Prime(arr[i]);
}
return 0;
}
int Reverse(int n) {
int j = 0;
while (n != 0) {
j *= 10;
j += n % 10;
n /= 10;
}
return j;
}
void Prime(int n) {
int j = Reverse(n);
int count = 0;
for (int i = 1; i <= j; i++) {
if (j % i == 0) {
count++;
}
}
if (count == 2) {
printf("%d ", n);
}
}
<실행결과>
오늘 포스트에서 주의 깊게 보셔야 하는 부분은 소수를 찾는 함수보다도, 입력 받은 숫자를 뒤집는 함수입니다!
이 점에 유의하셔서 함수를 분석(?) 해보시길 권장드립니다!
그러면 오늘도 모두들 코딩 아티스트가 되는 시간 되시길 바랍니다~