-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathModifiedKaprekarNumbers.java
More file actions
63 lines (49 loc) · 1.69 KB
/
ModifiedKaprekarNumbers.java
File metadata and controls
63 lines (49 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
public class ModifiedKaprekarNumbers {
// Complete the kaprekarNumbers function below.
static void kaprekarNumbers(int p, int q) {
int flag = 0;
for(long i=p;i<=q;i++){
String d = String.valueOf(i);
long squared = i*i;
if(String.valueOf(squared).length() == 2*d.length() || String.valueOf(squared).length() == (2*d.length())-1 ){
String s = String.valueOf(squared);
String s1 = s.substring(0,s.length()/2);
String s2 = s.substring(s.length()/2);
long numberl = 0 , numberr = 0;;
if(s1.length() == 0){
numberl = 0;
}else{
numberl = Long.parseLong(s1);
}
if(s2.length() == 0){
numberr = 0;
}else{
numberr = Long.parseLong(s2);
}
if(numberl + numberr == i){
flag = 1;
System.out.print(i + " ");
}
}
}
if(flag == 0){
System.out.println("INVALID RANGE");
}
}
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int p = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
int q = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
kaprekarNumbers(p, q);
scanner.close();
}
}