Advertisement
Donald_Fortier

Untitled

May 26th, 2015
271
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. int intLen(int number)
  18. {
  19.         int len = 0;
  20.         int temp = number;
  21.         while (temp > 0)
  22.         {
  23.                 temp = temp / 10;
  24.                 len++;
  25.         }
  26.         if (number == 0)
  27.                 len = 1;
  28.      
  29.         return len;
  30. }
  31.      
  32. bool isPalindrome(int number)
  33. {
  34.                 int length = intLen(number);
  35.      
  36.                 for (int i = length; i > 1; i--)
  37.                 {
  38.                         int a = number / (pow(10, i-1));
  39.                         int b = number % 10;
  40.                         cout << "\nnumber is: " << number << "\ti: " << i <<
  41.                                 "\ta: " << a << "\tb: " << b << endl;
  42.                            
  43.                                 if (a != b)
  44.                                 {
  45.                                         return false;
  46.                                 }
  47.                         number /= 10;cout << "\nnumber is: " << number;
  48.                         number -= b * (pow(10, i-1));cout << "\nnumber is: " << number;
  49.                 }
  50.                 return true;
  51. }
  52.      
  53. void printPrimePalindromes(int numberOfPrimes)
  54. {
  55.         const int NUMBER_OF_POINTS = 100;
  56.         int counter = 0;
  57.         int number = 2;
  58.      
  59.         while (counter < numberOfPrimes)
  60.         {
  61.                 if (isPrime(number) && isPalindrome(number))
  62.                 {
  63.                         counter++;
  64.                         if (counter % 10 == 0)
  65.                         {
  66.                                 cout << setw(7) << number << endl;
  67.                         }
  68.                         else
  69.                                 cout << setw(7) << number;
  70.                 }
  71.                 number++;
  72.         }
  73. }
  74.      
  75. int main()
  76. {
  77.         cout << "First 100 Primes and Palindromes are \n";
  78.         printPrimePalindromes(100);
  79.         return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement