You are on page 1of 3

Placement Training Assignment – JAVA

Name: Vikram BM
Reg. No.: 18BCE10291

2_d. Kaprekar Number


To check if an n-digit number k is a Kaprekar number or not. Square it and add the right n
digits to the left n or n-1 digits. If the resultant sum is k, then k is called a Kaprekar number.
For example, 9 is a Kaprekar number since 92 = 81 & 8 + 1 = 9 297 is a Kaprekar number as
2972 = 88209 & 88 + 209 = 297 ). Write a Java program to find whether the given number is
a Kaprekar number or not.

Test case 1 :
Sample input : 9
Sample output : Kaprekar Number
Test case 2 :
Sample input : 45
Sample output : Kaprekar Number
Test case 3 :
Sample input : 25
Sample output : Not a Kaprekar Number

Source Code:
import java.util.Scanner;
import java.io.*;

public class Main {

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);
System.out.println("Enter a number");
int number = scanner.nextInt();
scanner.close();

boolean checkKaprekar = new Main().checkKaprekar(number);


if (checkKaprekar) {
System.out.println(number + " is a Kaprekar number");
} else {
System.out.println(number + " is not Kaprekar number");
}
}

boolean checkKaprekar(int n) {
int square = n * n;
int squareCopy = square;
int len = 0;
while (squareCopy != 0) {
len++;
squareCopy /= 10;
}
boolean isKaprekar = false;
for (int i = 1; i < len; i++) {
int divisor = (int) Math.pow(10, i);
int quotient = square / divisor;
int remainder = square % divisor;

if (quotient + remainder == n) {
isKaprekar = true;
}
}
return isKaprekar;
}
}

Output:

THANK YOU

You might also like