Guest User

Untitled

a guest
Oct 20th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. public class Vampire {
  2. private String numberToCheck;
  3.  
  4. public static void main(String[] args) {
  5. new Vampire().generate();
  6. }
  7.  
  8.  
  9. public void generate() {
  10. for (int i = 1000; i <= 9999; i++) {
  11. if ((i % 100 != 0) && (i % 1000 / 10 != 0)) {
  12. int number = i;
  13. char[] ch = makeCharArray(number);
  14. int[] array = makeTwelveCombos(ch);
  15. findVampire(array, number);
  16. }
  17. }
  18. }
  19.  
  20. public char[] makeCharArray(int number) {
  21. numberToCheck = Integer.toString(number);
  22. return numberToCheck.toCharArray();
  23. }
  24.  
  25. public int[] makeTwelveCombos(char[] ch) {
  26. int[] result = new int[12];
  27. int i = 0;
  28. for (char c : ch) {
  29. for (char g : ch) {
  30. if (c != g) {
  31. String concat = Character.toString(c) + Character.toString(g);
  32. result[i] = Integer.parseInt(concat);
  33. i++;
  34. }
  35. }
  36. }
  37. return result;
  38. }
  39.  
  40. public void findVampire(int[] array, int find) {
  41.  
  42. for (int i : array) {
  43. char[] ci = Integer.toString(i).toCharArray();
  44. for (int j : array) {
  45. char[] cj = Integer.toString(j).toCharArray();
  46. if (allowedToMultiply(ci, cj) && (i * j == find)) {
  47. System.out.println(find + ": ");
  48. System.out.println(i + " * " + j);
  49. System.out.println("=======");
  50. return;
  51. }
  52. }
  53. }
  54. }
  55.  
  56. public boolean allowedToMultiply(char[] ci, char[] cj) {
  57. String tempNumberToCheck = numberToCheck;
  58. boolean allowed = true;
  59.  
  60. for (char i : ci) {
  61. tempNumberToCheck = tempNumberToCheck.replaceFirst(Character.toString(i), "");
  62. for (char j : cj) {
  63. if (i == j && tempNumberToCheck.indexOf(j) == -1) {
  64. allowed = false;
  65. }
  66. }
  67. }
  68. return allowed;
  69.  
  70. }
  71. }
Add Comment
Please, Sign In to add comment