Back to: C#.NET Programs and Algorithms
Twisted Prime Number in C# with Examples
In this article, I am going to discuss the Twisted Prime Number in C# with Examples. Please read our previous article where we discussed How to Implement Disarium Number Program in C#. Here, first, we will discuss what is a prime number, then we will discuss how to reverse a number, and finally, we will see how to Implement the Twisted Prime Number Program in C#.
Twisted Prime Number in C#
If the number and its reverse is a prime number then it is a twisted prime number. For example, 97 is a twisted prime number. Because 97 and if we reverse 97, i.e. 79 both are prime numbers.
Input: 97
Output: Twisted Prime Number
Explanation: 97 is a prime number and it’s reverse 79 is also a prime number.
Input: 43
Output: Not a Twisted Prime Number
Explanation: 43 is a prime number but it’s reverse 34 is not a prime number.
First of all, we have to know what is a prime number. How it works. What is the basic method to solve this problem?
What is a Prime Number?
It is a number that is greater than 1 and divided by 1 or itself only. For example, 2, 3, 5, 7, 11, 13, 17….
Here, we are going to use two operators: –
1) Modulus %: Modulus Operator will calculate the remainder after an integer division.
Example: 97 % 10 = 7
43 % 10 = 3
2) Divides /: Divides numerator by de-numerator
Example: 97 / 10 = 9
43 / 10 = 4
Prime Number Check
For this, you can visit our previous article where we have discussed prime number in great details with various examples
https://dotnettutorials.net/lesson/prime-numbers-in-csharp/
Twisted Prime Number Explanation
The idea is first to check if n is a prime number or not. If it is a prime number then reverse the number n and check reversed n is a prime number or not. We use basically three steps to solve this problem.
- Check if a number is prime.
- Then we will reverse the digits of that number.
- Then after check, the reverse number is also a prime number or not. If the reverse number is also a prime number then it is a twisted prime number otherwise it is not a twisted prime number.
So, it is clear from our explanation above that for testing a number is a twisted prime number or not before that we need to learn that how to calculate the reverse of a number.
Reverse digit of a number in C#
The following program shows how to reverse a number in C#.
using System; class ReverseDigit { public static void Main () { int revNo = 0; Console.Write ("Enter a number: "); int num = Convert.ToInt32(Console.ReadLine()); //Calcuating reverse of a number. while (num > 0) { revNo = revNo * 10 + num % 10; num = num / 10; } Console.Write ("Reverse of no. is " + revNo); Console.ReadLine (); } }
Program Explanation:
This program takes an integer input from the user. Then the while loop is used until n != 0 is false (0). In each iteration of the loop, the remainder when n is divided by 10 is calculated and the value of n is reduced by 10 times. Inside the loop, the reversed number is computed using:
revNo = revNo * 10 + num % 10;
Output: When you execute the above program, you will get the following output
After understanding how to reverse our number let’s go to our real program which twisted prime number.
Twisted Prime Number in C#
using System; class TwistedPrimeNumber { public static void Main () { Console.Write ("Enter a number: "); int num = Convert.ToInt32 (Console.ReadLine ()); //Calclating Reverse of Number int revNo = ReverseNo(num); //Condition check for both the number (Entered number and Reversed No) //if both are prime then it is twisted prime number. if (IsPrime (num) && IsPrime (revNo)) Console.WriteLine (num + " is twisted Prime No."); else Console.WriteLine (num + " is not a twisted Prime No."); Console.ReadLine (); } //Method to calculate reverse of number public static int ReverseNo(int num) { int revNo = 0; while (num > 0) { revNo = revNo * 10 + num % 10; num = num / 10; } return revNo; } //Method to check for prime number public static bool IsPrime(int num) { bool isPrime = true; for (int i = 2; i < num / 2; i++) { if (num % i == 0) { isPrime = false; break; } } return isPrime; } }
Output:
Twisted Prime Numbers between 10 to 100 in C#:
Now lets us see how to print all the twisted prime numbers between 10 to 100.
using System; class TwistedPrimeNumber { public static void Main () { Console.Write ("Twisted Prime Numbers Between 1 to 100 are : \n"); for(int i = 10; i <= 100; i++) { //Calclating Reverse of Number int revNo = ReverseNo(i); //Condition check for both the number (Entered number and Reversed No) //if both are prime then it is twisted prime number. if (IsPrime (i) && IsPrime (revNo)) Console.Write(i + " "); } Console.ReadLine (); } //Method to calculate reverse of number public static int ReverseNo(int num) { int revNo = 0; while (num > 0) { revNo = revNo * 10 + num % 10; num = num / 10; } return revNo; } //Method to check for prime number public static bool IsPrime(int num) { bool isPrime = true; for (int i = 2; i < num / 2; i++) { if (num % i == 0) { isPrime = false; break; } } return isPrime; } }
Output:
In the next article, I am going to discuss How to Implement Buzz Number Program in C# with Examples. Here, in this article, I try to explain How to Implement the Twisted Prime Number Program in C# and I hope you enjoy this Twisted Prime Number Program in the C# article.