Twisted Prime Number
Last Updated :
16 Mar, 2022
A number is said to be twisted prime if it is a prime number and reverse of the number is also a prime number.
Examples:
Input : 97
Output : Twisted Prime Number
Explanation: 97 is a prime number
and its reverse 79 is also a prime
number.
Input : 43
Output : Not a Twisted Prime Number
Explanation: 43 is a prime number
but its reverse 34 is not a prime
number.
The idea is first check if n is a prime number then reverse the number n and check reversed n is a prime number or not.
We use methods of below two articles.
1) Check if a number is prime (School Method)
2) Reverse digits of a number.
C++
#include <bits/stdc++.h>
using namespace std;
int reverse( int n)
{
int rev = 0, r;
while (n > 0) {
r = n % 10;
rev = rev * 10 + r;
n /= 10;
}
return rev;
}
bool isPrime( int n)
{
if (n <= 1)
return false ;
if (n <= 3)
return true ;
if (n % 2 == 0 || n % 3 == 0)
return false ;
for ( int i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return false ;
return true ;
}
bool checkTwistedPrime( int n)
{
if (isPrime(n) == false )
return false ;
return isPrime(reverse(n));
}
int main( void )
{
cout << "First few Twisted Prime numbers are :- n" ;
for ( int i = 2; i <= 200; i++)
if (checkTwistedPrime(i))
cout << i << " " ;
return 0;
}
|
Java
import java.io.*;
import java.math.*;
class GFG
{
static int reverse( int n)
{
int rev = 0 , r;
while (n > 0 )
{
r = n % 10 ;
rev = rev * 10 + r;
n /= 10 ;
}
return rev;
}
static boolean isPrime( int n)
{
if (n <= 1 )
return false ;
if (n <= 3 )
return true ;
if (n % 2 == 0 || n % 3 == 0 )
return false ;
for ( int i = 5 ; i * i <= n; i = i + 6 )
if (n % i == 0 || n % (i + 2 ) == 0 )
return false ;
return true ;
}
static boolean checkTwistedPrime( int n)
{
if (isPrime(n) == false )
return false ;
return isPrime(reverse(n));
}
public static void main(String args[])
throws IOException
{
System.out.println( "First few Twisted Prime" +
" Numbers are :- n" );
for ( int i = 2 ; i <= 200 ; i++)
if (checkTwistedPrime(i))
System.out.print(i + " " );
}
}
|
Python3
def reverse(n) :
rev = 0
while n > 0 :
r = n % 10
rev = rev * 10 + r
n = n / / 10
return rev
def isPrime(n) :
if (n < = 1 ):
return False
if (n < = 3 ):
return True
if (n % 2 = = 0 or n % 3 = = 0 ):
return False
i = 5
while (i * i < = n):
if (n % i = = 0 or n % (i + 2 ) = = 0 ):
return False
i = i + 6
return True ;
def checkTwistedPrime (n) :
if (isPrime(n) = = False ):
return False
return isPrime(reverse(n))
print ( "First few Twisted Prime numbers are :- " )
i = 2
while i< = 200 :
if (checkTwistedPrime(i) = = True ) :
print (i,end = " " )
i = i + 1
|
C#
using System;
class GFG
{
static int reverse( int n)
{
int rev = 0, r;
while (n > 0)
{
r = n % 10;
rev = rev * 10 + r;
n /= 10;
}
return rev;
}
static bool isPrime( int n)
{
if (n <= 1)
return false ;
if (n <= 3)
return true ;
if (n % 2 == 0 || n % 3 == 0)
return false ;
for ( int i = 5;
i * i <= n; i = i + 6)
if (n % i == 0 ||
n % (i + 2) == 0)
return false ;
return true ;
}
static bool checkTwistedPrime( int n)
{
if (isPrime(n) == false )
return false ;
return isPrime(reverse(n));
}
static public void Main ()
{
Console.WriteLine( "First few Twisted Prime" +
" Numbers are :- " );
for ( int i = 2; i <= 200; i++)
if (checkTwistedPrime(i))
Console.Write(i + " " );
}
}
|
PHP
<?php
function reverse( $n )
{
$rev = 0;
while ( $n > 0){
$r = $n % 10;
$rev = $rev * 10 + $r ;
$n = (int)( $n / 10);
}
return $rev ;
}
function isPrime( $n )
{
if ( $n <= 1)
return false;
if ( $n <= 3)
return true;
if ( $n % 2 == 0 or $n % 3 == 0)
return false;
$i = 5;
while ( $i * $i <= $n ){
if ( $n % $i == 0 or $n % ( $i + 2) == 0)
return false;
$i = $i + 6;
}
return true;
}
function checkTwistedPrime ( $n )
{
if (isPrime( $n ) == false)
return false;
return isPrime(reverse( $n ));
}
print ( "First few Twisted Prime numbers are :- \n" );
$i = 2;
while ( $i <= 200)
{
if (checkTwistedPrime( $i ) == true)
print ( $i . " " );
$i = $i + 1;
}
?>
|
Javascript
<script>
function reverse(n)
{
let rev = 0, r;
while (n > 0)
{
r = n % 10;
rev = rev * 10 + r;
n = parseInt(n / 10, 10);
}
return rev;
}
function isPrime(n)
{
if (n <= 1)
return false ;
if (n <= 3)
return true ;
if (n % 2 == 0 || n % 3 == 0)
return false ;
for (let i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return false ;
return true ;
}
function checkTwistedPrime(n)
{
if (isPrime(n) == false )
return false ;
return isPrime(reverse(n));
}
document.write( "First few Twisted Prime Numbers are :- " + "</br>" );
for (let i = 2; i <= 200; i++)
if (checkTwistedPrime(i))
document.write(i + " " );
</script>
|
Output:
First few Twisted Prime Numbers are :-
2 3 5 7 11 13 17 31 37 71 73 79 97 101 107 113 131 149 151 157 167 179 181 191 199
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...