How to check whether a given number is a twisted prime number in C++

1 Answer

0 votes
#include <iostream>
#include <cmath>

// A number is a twisted prime number if the reverse of the number is also a prime number
 
int reverseNumber(int n) {
    int reverse = 0, reminder;
 
    while (n != 0) {
        reminder = n % 10;
        reverse = reverse * 10 + reminder;
        n = n / 10;
    }
    return reverse;
}
 
int isPrime(int n) {
    if (n < 2 || (n % 2 == 0 && n != 2)) {
        return 0;
    }
 
    int count = floor(sqrt(n));
    for (int i = 3; i <= count; i += 2) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}
 
int main(void) {
    int n = 79;
    int reverse_n = reverseNumber(n);
 
    if (isPrime(n) && isPrime(reverse_n)) {
        std::cout << "Twisted prime number";
    } else {
        std::cout << "Not twisted prime number";
    }
 
    return 0;
}
 
 
 
/*
run:
 
Twisted prime number
 
*/

 



answered Jul 26, 2021 by avibootz
edited Jul 27, 2021 by avibootz

Related questions

...