Write a program to check a number is Kaprekar number or not. A Kaprekar number for a given base is a non-negative integer, the representation of whose square in that base can be split into two parts that add up to the original number again. For instance, 45 is a Kaprekar number, because 452 = 2025 and 20+25 = 45.
import java.util.*;
class Kaprekar
{
public static void main()
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number:");
int num = sc.nextInt();
int p = 0;
int digit=0,sq,sum=0;
sq = num*num;
p=sq;
while(sq>0)
{
digit++;
sq=sq/10;
}
int k=(int)Math.pow(10,(digit/2));
while(p>0)
{
sum=sum+(p%k);
p=p/k;
}
if(sum==num){
System.out.println("Is a kaprekar number");
}
else{
System.out.println("Is not a kaprekar number");
}
}
}
Output:
Enter the number:
9 Is a kaprekar number