#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
unsigned int remove_N_digit(unsigned int n, const int index_from, const int index_to) {
static char tmp[10];
sprintf(tmp, "%d", n);
int sectionlen = index_to - index_from;
int stringlen = strlen(tmp);
memmove(tmp + index_from, tmp + index_from + sectionlen, stringlen - index_to);
tmp[stringlen - sectionlen] = '\0';
return atoi(tmp);
}
bool isPrime(int n) {
if (n == 0) return false;
if (n == 1) return false;
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main(void) {
unsigned int n = 78919;
unsigned int total_digits = (int)log10(n) + 1;
int i = 0;
while (i < total_digits) {
int tmp = remove_N_digit(n, i, i + 1);
if (isPrime(tmp)) {
printf("yes number = %d\n", tmp);
break;
}
i++;
}
return 0;
}
/*
run:
yes number = 7919
*/