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