64 lines
2.1 KiB
Java
64 lines
2.1 KiB
Java
/**
|
|
* A number is said to be an Automorphic, if it is present in the last digit(s) of its square.
|
|
* Example- Let the number be 25, its square is 625.
|
|
* Since, 25(The input number) is present in the last two digits of its square(625),
|
|
* it is an Automorphic Number.
|
|
*/
|
|
import java.io.*;
|
|
|
|
public class AutomorphicNumber
|
|
{
|
|
//returns True if the number is a Automorphic number and False if it is not an Automorphic number
|
|
public static boolean isAutomorphic(int n)
|
|
{
|
|
int m, c, r, p, k; c = 0;
|
|
/** m = Temporary variable to store a copy of the number entered by the user.
|
|
* n = The number entered by the user
|
|
* c = Count the digits of the number entered by user.
|
|
* p = To calculate the square of the number.
|
|
* k = Support variable to count the digits of the number
|
|
*/
|
|
double s;
|
|
m = n;
|
|
p = m * m; //Calculating square of the number
|
|
do
|
|
{
|
|
k = n / 10;
|
|
c = c + 1; //Counting the digits of the number entered by user.
|
|
n = k;
|
|
}
|
|
while(n != 0);
|
|
s = Math.pow(10, c);
|
|
r = p %(int)s;
|
|
if(m == r) //Checking if the original number entered is present at the end of the square
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/** Method to check if number is Automorphic Number or Not
|
|
* 1) Input - Enter a Number: 25
|
|
* Output - It is an Automorphic Number.
|
|
* 2) Input - Enter a Number: 7
|
|
* Output - It is not an Automorphic Number.
|
|
*/
|
|
public static void main(String args[]) throws IOException
|
|
{
|
|
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
|
|
System.out.println("Enter a Number: ");
|
|
int n=Integer.parseInt(br.readLine());
|
|
if(isAutomorphic(n))
|
|
{
|
|
System.out.println("It is an Automorphic Number.");
|
|
}
|
|
else
|
|
{
|
|
System.out.println("It is not an Automorphic Number.");
|
|
}
|
|
}
|
|
}
|