Trimorphic Number
Given a number N, the task is to check whether the number is Trimorphic number or not. A number is called Trimorphic number if and only if its cube ends in the same digits as the number itself. In other words, number appears at the end of its cube.
Examples:
Input : 5 Output : trimorphic Explanation: 5*5*5=125 Input : 24 Output : trimorphic Explanation: 24*24*24=13824 Input:10 Output: not trimorphic Explanation: 10*10*10=1000
Approach:
1. Store the cube of given number. 2. Loop until N becomes 0 as we have to match all digits with its cube. i) Check if (n%10 == cube%10) i.e. last digit of number = last digit of cube or not a) if not equal, return false. ii) Otherwise continue i.e. reduce number and cube i.e. n = n/10 and cube = cube/10; 3- Return true if all digits matched.
Below is the implementation of the approach.
C++
// C++ program to check if a // number is Trimorphic #include <iostream> using namespace std; // Function to check Trimorphic number bool isTrimorphic( int N) { // Store the cube int cube = N * N * N; // Start Comparing digits while (N > 0) { // Return false, if any digit // of N doesn't match with // its cube's digits from last if (N % 10 != cube % 10) return false ; // Reduce N and cube N /= 10; cube /= 10; } return true ; } // Driver code int main() { int N = 24; isTrimorphic(N) ? cout << "trimorphic" : cout << "not trimporphic" ; return 0; } |
chevron_right
filter_none
Java
// Java program to check if a // number is Trimorphic class GFG { // Function to check Trimorphic number static boolean isTrimorphic( int N) { // Store the cube int cube = N * N * N; // Start Comparing digits while (N > 0 ) { // Return false, if any digit // of N doesn't match with // its cube's digits from last if (N % 10 != cube % 10 ) return false ; // Reduce N and cube N /= 10 ; cube /= 10 ; } return true ; } // Driver code public static void main(String[] args) { int N = 24 ; if (isTrimorphic(N) == true ) System.out.println( "trimorphic" ); else System.out.println( "not trimorphic" ); } } //This article is contributed by prerna saini. |
chevron_right
filter_none
Python3
# Python 3 program to check # if a number is Trimorphic # Function to check # Trimorphic number def isTrimorphic(N) : # Store the cube cube = N * N * N # Start Comparing digits while (N > 0 ) : # Return false, if any digit # of N doesn't match with # its cube's digits from last if (N % 10 ! = cube % 10 ) : return False # Reduce N and cube N = N / / 10 cube = cube / / 10 return True # Driver code N = 24 if (isTrimorphic(N)) : print ( "trimorphic" ) else : print ( "not trimporphic" ) # This code is contributed by Nikita tiwari. |
chevron_right
filter_none
C#
// C# program to check if // a number is Trimorphic using System; class GFG { // Function to check Trimorphic number static bool isTrimorphic( int N) { // Store the cube int cube = N * N * N; // Start Comparing digits while (N > 0) { // Return false, if any digit // of N doesn't match with // its cube's digits from last if (N % 10 != cube % 10) return false ; // Reduce N and cube N /= 10; cube /= 10; } return true ; } // Driver code public static void Main() { int N = 24; if (isTrimorphic(N) == true ) Console.Write( "trimorphic" ); else Console.Write( "not trimorphic" ); } } // This article is contributed // by Smitha Dinesh Semwal. |
chevron_right
filter_none
PHP
<?php //PHP program to check if a // number is Trimorphic // Function to check Trimorphic // number function isTrimorphic( $N ) { // Store the cube $cube = $N * $N * $N ; // Start Comparing digits while ( $N > 0) { // Return false, if any digit // of N doesn't match with // its cube's digits from last if ( $N % 10 != $cube % 10) return -1; // Reduce N and cube $N /= 10; $cube /= 10; } return 1; } // Driver code $N = 24; $r = isTrimorphic( $N ) ? "trimorphic" : "not trimporphic" ; echo $r ; // This code is contributed by aj_36 ?> |
chevron_right
filter_none
Output:
trimorphic
Find nth Trimorphic Number
Examples:
Input : 10 Output : 51 Input : 11 Output : 75
C++
// CPP program to find nth // Trimorphic number #include <iostream> using namespace std; # define INT_MAX 2147483647 // Functions to find nth // Trimorphic number bool checkTrimorphic( int num) { int cube = num * num * num; // Comparing the digits while (num > 0) { // Return false, if any digit // of num doesn't match with // its cube's digits from last if (num % 10 != cube % 10) return false ; // Reduce num and cube num /= 10; cube /= 10; } return true ; } int nthTrimorphic( int n) { int count = 0; // Check in max int size for ( int i = 0; i < INT_MAX; i++) { //check number is Trimorphic or not if (checkTrimorphic(i)) count++; // if counter is equal to the // n then return nth number if (count == n) return i; } } // Driver code int main() { int n = 9; cout<< nthTrimorphic(n); return 0; } // This code is contributed by jaingyayak. |
chevron_right
filter_none
Java
// Java program to find nth // Trimorphic number class GFG { static int INT_MAX = 2147483647 ; // Functions to find nth // Trimorphic number static boolean checkTrimorphic( int num) { int cube = num * num * num; // Comparing the digits while (num > 0 ) { // Return false, if any // digit of num doesn't // match with its cube's // digits from last if (num % 10 != cube % 10 ) return false ; // Reduce num and cube num /= 10 ; cube /= 10 ; } return true ; } static int nthTrimorphic( int n) { int count = 0 ; // Check in max int size for ( int i = 0 ; i < INT_MAX; i++) { // check number is // Trimorphic or not if (checkTrimorphic(i)) count++; // if counter is equal to // the n then return nth number if (count == n) return i; } return - 1 ; } // Driver code public static void main(String[] args) { int n = 9 ; System.out.println(nthTrimorphic(n)); } } // This code is contributed by mits. |
chevron_right
filter_none
Python3
# Python3 program to find # nth Trimorphic number import sys # Functions to find nth # Trimorphic number def checkTrimorphic(num): cube = num * num * num # Comparing the digits while (num > 0 ): # Return false, if any digit # of num doesn't match with # its cube's digits from last if (num % 10 ! = cube % 10 ): return False # Reduce num and cube num = int (num / 10 ) cube = int (cube / 10 ) return True def nthTrimorphic(n): count = 0 # Check in max int size for i in range (sys.maxsize): # check number is # Trimorphic or not if (checkTrimorphic(i)): count + = 1 # if counter is equal to # the n then return nth # number if (count = = n): return i # Driver code if __name__ = = '__main__' : n = 9 print (nthTrimorphic(n)) # This code is contributed # by mits. |
chevron_right
filter_none
C#
// C# program to find nth // Trimorphic number using System; class GFG { static int INT_MAX = 2147483647; // Functions to find nth // Trimorphic number static bool checkTrimorphic( int num) { int cube = num * num * num; // Comparing the digits while (num > 0) { // Return false, if any // digit of num doesn't // match with its cube's // digits from last if (num % 10 != cube % 10) return false ; // Reduce num and cube num /= 10; cube /= 10; } return true ; } static int nthTrimorphic( int n) { int count = 0; // Check in max int size for ( int i = 0; i < INT_MAX; i++) { // check number is // Trimorphic or not if (checkTrimorphic(i)) count++; // if counter is equal to // the n then return nth number if (count == n) return i; } return -1; } // Driver code static int Main() { int n = 9; Console.Write(nthTrimorphic(n)); return 0; } } // This code is contributed by mits. |
chevron_right
filter_none
PHP
<?php // PHP program to find // nth Trimorphic number // Functions to find nth // Trimorphic number function checkTrimorphic( $num ) { $cube = $num * $num * $num ; // Comparing the digits while ( $num > 0) { // Return false, if any digit // of num doesn't match with // its cube's digits from last if ( $num % 10 != $cube % 10) return false; // Reduce num and cube $num = (int)( $num / 10); $cube = (int)( $cube / 10); } return true; } function nthTrimorphic( $n ) { $count = 0; // Check in max int size for ( $i = 0; $i < PHP_INT_MAX; $i ++) { // check number is // Trimorphic or not if (checkTrimorphic( $i )) $count ++; // if counter is equal to // the n then return nth // number if ( $count == $n ) return $i ; } } // Driver code $n = 9; echo nthTrimorphic( $n ); // This code is contributed // by mits. ?> |
chevron_right
filter_none
Output:
49
Recommended Posts:
- Count number of trailing zeros in Binary representation of a number using Bitset
- Find minimum number to be divided to make a number a perfect square
- Count number of triplets with product equal to given number with duplicates allowed
- Number of ways to split a binary number such that every part is divisible by 2
- Find the number of positive integers less than or equal to N that have an odd number of digits
- Number of times the largest perfect square number can be subtracted from N
- Given number of matches played, find number of teams in tournament
- Number of possible permutations when absolute difference between number of elements to the right and left are given
- Print a number strictly less than a given number such that all its digits are distinct.
- Count the number of operations required to reduce the given number
- Find the number of jumps to reach X in the number line from zero
- Find the smallest number whose digits multiply to a given number n
- Super Ugly Number (Number whose prime factors are in given set)
- Count number of ways to divide a number in 4 parts
- Build Lowest Number by Removing n digits from a given number
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.