Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cmath>
- using namespace std;
- bool isPrime(int number)
- {
- for (int divisor = 2; divisor <= number / 2; divisor++)
- {
- if (number % divisor == 0)
- {
- return false;
- }
- }
- return true;
- }
- int intLen(int number)
- {
- int len = 0;
- int temp = number;
- while (temp > 0)
- {
- temp = temp / 10;
- len++;
- }
- if (number == 0)
- len = 1;
- return len;
- }
- bool isPalindrome(int number)
- {
- int length = intLen(number);
- int n1 = number;
- for (int i = length; i > 1; i--)
- {
- int a = n1 % 10;
- int n2 = n1 - a;
- i--;
- int b = n1 / (pow(10, i));
- int n3 = n1 - (b * (pow(10, i)));
- i--;
- cout << "\nn1 is: " << n1 << " \tn2 is: " << n2 << " \tn3 is: " << n3 << "\ti: " << i <<
- "\ta: " << a << "\tb: " << b << "\tlength: " << length << endl;
- if (n2 != n3)
- {
- return false;
- break;
- }
- }
- return true;
- }
- void printPrimePalindromes(int numberOfPrimes)
- {
- const int NUMBER_OF_POINTS = 100;
- int counter = 0;
- int number = 2;
- while (counter < numberOfPrimes)
- {
- if (isPrime(number) && isPalindrome(number))
- {
- counter++;
- if (counter % 10 == 0)
- {
- cout << setw(4) << number << endl;
- }
- else
- cout << setw(4) << number;
- }
- number++;
- }
- }
- int main()
- {
- cout << "First 100 Primes and Palindromes are \n";
- printPrimePalindromes(100);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment