Repository navigation
Expand file tree
/
Copy pathVampireNumber.java
More file actions
74 lines (63 loc) · 1.92 KB
/
Copy pathVampireNumber.java
File metadata and controls
74 lines (63 loc) · 1.92 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
64
65
66
67
68
69
70
71
72
73
74
import java.util.Arrays;
import java.util.Scanner;
public class VampireNumber {
public VampireNumber() {
}
static int noOfDigits(int n) {
int count = 0;
for(int temp = n; temp != 0; temp /= 10) {
int d = temp % 10;
++count;
}
return count;
}
static boolean check(int a, int f1, int f2) {
boolean flag = true;
if (f1 != 0 && f2 != 0) {
String s1 = String.valueOf(f1);
String s2 = String.valueOf(f2);
String s = s1.concat(s2);
String orignal = String.valueOf(a);
char[] oa = orignal.toCharArray();
if (s1.length() == s2.length() && s2.length() == orignal.length() / 2) {
char[] c = s.toCharArray();
Arrays.sort(c);
Arrays.sort(oa);
for(int i = 0; i < c.length; ++i) {
if (c[i] == oa[i]) {
flag = true;
} else {
flag = false;
}
}
} else {
flag = false;
}
} else {
flag = false;
}
return flag;
}
public static void main(String[] args) {
boolean flag = true;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number : ");
int a = sc.nextInt();
if (noOfDigits(a) % 2 == 0) {
for(int i = 2; (double)i <= Math.sqrt((double)a); ++i) {
if (a % i == 0) {
int f2 = a / i;
if (check(a, i, f2)) {
flag = false;
break;
}
}
}
}
if (!flag) {
System.out.println("" + a + " is a vampire no.");
} else {
System.out.println("" + a + " is not a vampire no.");
}
}
}