Q. Write an algorithm and program to check Automorphic Number?
Program to check Automorphic Number : This section focuses on Automorphic Number algorithm and program. This program should be practiced to improve the coding skills required for various interviews (campus interviews, walk-in interviews), coding rounds etc.
Automorphic Number : A number is called Automorphic number if and only if its square ends in the same digits as the number itself.
Here we are given a number n and our task to check the square of given number ends with original number or not.
For Example :-
Input : n = 76
Output : Yes, The number is Automorphic
Explanation : As we can see that input number is 76. The square of number 76 is 5776. So, output for the following code is "Yes, The number is Automorphic Number".
Now let us understand what logic we need to use in this:
1. Store the square of given number.
2. Using loop check if square ends in the same digits as the number itself.
Algorithm To Check Automorphic Number
\\Algorithm To Check Automorphic Number START Step 1 : Store the square of given number Step 2 : Loop until N becomes 0 Check if (n%10 == sq%10) if not equal, return false Otherwise continue i.e. reduce number and square i.e. n = n/10 and sq = sq/10; Step 3 : Return true if all digits matched Stop
Program To Check Automorphic Number
//C Program To Check Automorphic Number #include <stdio.h> int main() { int number = 25, flag=1; int sq = number * number; while (number > 0) { // Return 0, if any digit of number doesn't // match with its square's digits from last if (number % 10 != sq % 10) flag=0; // Reduce number and square number /= 10; sq /= 10; } if(flag==1) { printf("Yes, The number is Automorphic Number"); } else { printf("No, The number is not Automorphic Number"); } return 0; }
//C++ Program To Check Automorphic Number #include <iostream> using namespace std; int main() { int number = 25, flag=1; int sq = number * number; while (number > 0) { // Return 0, if any digit of number doesn't // match with its square's digits from last if (number % 10 != sq % 10) flag=0; // Reduce number and square number /= 10; sq /= 10; } if(flag==1) { cout<<"Yes, The number is Automorphic Number"; } else { cout<<"No, The number is not Automorphic Number"; } return 0; }
//Java Program To Check Automorphic Number public class LFC { public static void main(String[] args) { int number = 25, flag=1; int sq = number * number; while (number > 0) { // Return 0, if any digit of number doesn't // match with its square's digits from last if (number % 10 != sq % 10) flag=0; // Reduce number and square number /= 10; sq /= 10; } if(flag==1) { System.out.println("Yes, The number is Automorphic Number"); } else { System.out.println("No, The number is not Automorphic Number"); } } }
#Python Program To Check Automorphic Number number =25 sq=number*number #square of the given number flag=0 #condition variable while(number>0): #loop until number becomes 0 if(number%10!=sq%10): print("No, The number is not Automorphic Number") flag=1 # come out of the loop if the above condition holds true break #reduce number and square number=number//10 sq=sq//10 if(flag==0): print("Yes, The number is Automorphic Number")
//C# Program To Check Automorphic Number using System; class LFC { static void Main() { int number = 25, flag=1; int sq = number * number; while (number > 0) { // Return 0, if any digit of number doesn't // match with its square's digits from last if (number % 10 != sq % 10) flag=0; // Reduce number and square number /= 10; sq /= 10; } if(flag==1) { Console.WriteLine("Yes, The number is Automorphic Number"); } else { Console.WriteLine("No, The number is not Automorphic Number"); } } }
<?php //PHP Program To Check Automorphic Number function automorphic($number) { // Store the square $sqrt = $number * $number; // Start Comparing digits while ($number > 0) { // Return false, if any // digit of number doesn't // match with its square's // digits from last if ($number % 10 != $sqrt % 10) return -1; // Reduce number and square $number /= 10; $sqrt /= 10; } return 1; } //Main Code $number = 25; $lfc = automorphic($number) ? "Yes, The number is Automorphic Number" : "No, The number is not Automorphic Number"; echo $lfc;
//C Program To Check Automorphic Number #include <stdio.h> int main() { int fact = 145; int f[10]; // Fills factorials of digits from 0 to 9. f[0] = f[1] = 1; for (int i = 2; i<10; ++i) f[i] = f[i-1] * i; int sum = 0; // Traverse through all digits of fact. int temp = fact; while (temp) { sum += f[temp%10]; temp /= 10; } //check if sum equal to orignal number if(sum == fact) { printf("Yes, The number is Automorphic Number"); } else { printf("No, The number is not Automorphic Number"); } return 0; }
Output
Yes, The number is Automorphic Number
Recommended Programs
Program to check Abundant NumberProgram to Check Strong Number