Advertisement
Donald_Fortier

Untitled

May 26th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. bool isPrime(int number)
  7. {
  8.     for (int divisor = 2; divisor <= number / 2; divisor++)
  9.     {
  10.         if (number % divisor == 0)
  11.         {
  12.             return false;
  13.         }
  14.     }
  15.     return true;
  16. }
  17.  
  18. int intLen(int number)
  19. {
  20.     int len = 0;
  21.     int temp = number;
  22.     while (temp > 0)
  23.     {
  24.         temp = temp / 10;
  25.         len++;
  26.     }
  27.     if (number == 0)
  28.         len = 1;
  29.  
  30.     return len;
  31. }
  32.  
  33. bool isPalindrome(int number)
  34. {
  35.         int length = intLen(number);
  36.         int n1 = number;
  37.  
  38.         for (int i = length; length > 1; length--)
  39.         {
  40.             int a = n1 % 10;
  41.             int n2 = n1 - a;
  42.             length--;
  43.             int b = n1 / (pow(10, length));
  44.             int n3 = n1 - (b * (pow(10, length)));
  45.             length--;
  46.             cout << "n1 is: " << n1 << " and n2 is: " << n2 << " and n3 is: " << n3 << endl;
  47.             if (n2 != n3)
  48.                 return false;
  49.         }
  50.         return true;
  51.    
  52.  
  53.         //  int number;
  54.         //  int div = 1;
  55.         //  while (number / div >= 10)
  56.         //  {
  57.         //      div *= 10;
  58.         //  }
  59.         //  while (number != 0)
  60.         //  {
  61.         //      int l = number / div;
  62.         //      int r = number % 10;
  63.         //      if (l != r)
  64.         //          return false;
  65.         //      number = (number % div) / 10;
  66.         //      div /= 100;
  67.         //  }
  68.         //  return true;
  69. }
  70.  
  71. void printPrimePalindromes(int numberOfPrimes)
  72. {
  73.     const int NUMBER_OF_POINTS = 100;
  74.     int counter = 0;
  75.     int number = 2;
  76.  
  77.     while (counter < numberOfPrimes)
  78.     {
  79.         if (isPrime(number) && isPalindrome(number))
  80.         {
  81.             counter++;
  82.             if (counter % 10 == 0)
  83.             {
  84.                 cout << setw(4) << number << endl;
  85.             }
  86.             else
  87.                 cout << setw(4) << number;
  88.         }
  89.         number++;
  90.     }
  91. }
  92.  
  93.     int main()
  94.     {
  95.         cout << "First 100 Primes and Palindromes are \n";
  96.         printPrimePalindromes(100);
  97.         return 0;
  98.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement