Saturday, April 6, 2013

C program to find next prime palindrome

C program to find next prime palindrome: In this code user will enter a number(say n) and we have to find a number greater than n which is a palindrome as well as prime. For example if the input is 7 then output will be 11 as it is prime as well as palindrome, if input is 21 then output will be 101. In our code we first check if a number is palindrome and then check if it is prime as it will take less time as primes occur more frequently then palindromes.

C programming code

#include <stdio.h>
#include <math.h>
#define TRUE 1
 
int main()
{
  long n, t, r = 0, c, d;
 
  printf("Enter an integer\n");
  scanf("%ld", &n);    /* n must be a natural number */
 
  while (TRUE)
  {
    n++;
    t = n;
 
    /* Calculating reverse of number */
 
    while(t)
    {
      r *= 10;  /* Compound assignment operator r*=10 => r=r*10 */
      r += t%10;
      t /= 10;
    }
 
    /* if reverse equals original then it is 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:
Next prime palindrome c program

No comments:

Post a Comment