Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Vampire {
- public static void main(String[] args) {
- printVampires(8);
- }
- private static void printVampires(int n) {
- int start = (int) Math.pow(10, n-1);
- int end = start * 10;
- int low = (int) Math.pow(10, (n/2) - 1);
- for (int i=start; i<end; i++) {
- int high = (int) Math.sqrt((double)i);
- for (int j=low; j<=high; j++) {
- if (i % j == 0) {
- int k = i / j;
- if (areVampires(i, j, k)) {
- System.out.println(i + " = " + j + " x " + k);
- }
- }
- }
- }
- }
- private static boolean areVampires(int i, int j, int k) {
- char[] vamp = Integer.toString(i).toCharArray();
- char[] fangs = (Integer.toString(j) + Integer.toString(k)).toCharArray();
- Arrays.sort(vamp);
- Arrays.sort(fangs);
- return Arrays.equals(vamp, fangs);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement