C program to find next prime palindrome: a user will enter a number, and we have to find the least number greater than it which is a palindrome as well as prime. For example, if the input is 7 then the output will be 11 as it's a prime as well as a palindrome, if the input is 21 then the output will be 101. In the program, we check if a number is a palindrome and then check if it's prime as it takes less time as primes occur more frequently than palindromes.
C program
#include <math.h>
int main()
{
long n, t, r = 0, c, d;
printf("Enter an integer\n");
scanf("%ld", &n);
while (1)
{
n++;
t = n;
// Calculating reverse of the number
while(t)
{
r = r*10;
r = r + t%10;
t = t/10;
}
// If reverse equals original then it's a palindrome
if (r == n)
{
d = (int)sqrt(n);
/* Checking prime */
for (c = 2; c <= d; c++)
{
if (n%c == 0)
break;
}
if (c == d+1)
break;
}
r = 0;
}
printf("%ld\n",n);
return 0;
}
Download Next prime palindrome program.
Output of program: