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

1 Answer

0 votes
#include <stdio.h>
#include <math.h>

// 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)) {
        printf("Twisted prime number\n");
    } else {
        printf("Not twisted prime number\n");
    }

    return 0;
}



/*
run:

Twisted prime number

*/

 



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

Related questions

...