Advertisement
Guest User

Untitled

a guest
Apr 30th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. public class mane
  4. {
  5. static ArrayList<Integer> pns = new ArrayList<Integer>();
  6. static int[] primes = { 2, 3, 5, 7, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 };
  7.  
  8. public static void main(String[] dinnies)
  9. {
  10.  
  11. for (int i = 0; i < primes.length; i++)
  12. for (int j = 0; j < primes.length; j++)
  13. for (int k = 0; k < primes.length; k++)
  14. pns.add((primes[i] * 10000) + (primes[j] * 100) + primes[k]);
  15.  
  16. arewethereyet();
  17.  
  18. int NUM = 416723;
  19.  
  20. //Tests if all digits are unique:
  21. System.out.println(tn1(NUM));
  22. //Tests if digital sum = last two digits:
  23. System.out.println(tn2(NUM));
  24. //Tests if sum of first two digits = sum of last two:
  25. System.out.println(tn3(NUM));
  26. //Tests if the fucking sum works:
  27. System.out.println(tn4(NUM));
  28.  
  29. for (int i = 0; i < pns.size(); i++)
  30. {
  31. int n = pns.get(i);
  32. if (!(testNum(n)))
  33. {
  34. pns.remove(i);
  35. i--;
  36. }
  37. }
  38.  
  39. arewethereyet();
  40.  
  41. if (pns.size() <= 10)
  42. for (int woah : pns)
  43. System.out.println(woah);
  44. }
  45.  
  46. public static boolean testNum(int num)
  47. {
  48. int score = 0;
  49.  
  50. if (tn1(num)) score++;
  51. if (tn2(num)) score++;
  52. if (tn3(num)) score++;
  53. if (tn4(num)) score++;
  54.  
  55. if (score > 3)
  56. return true;
  57. return false;
  58. }
  59.  
  60. public static boolean tn1(int num)
  61. {
  62. int[] digits = new int[dc(num)];
  63. for (int d = 0; d < digits.length; d++)
  64. digits[d] = gd(num, d + 1);
  65.  
  66. for (int d = 0; d < digits.length; d++)
  67. for (int dd = 0; dd < digits.length; dd++)
  68. if (d != dd && digits[d] == digits[dd])
  69. return false;
  70. return true;
  71. }
  72.  
  73. public static boolean tn2(int num)
  74. {
  75. int[] digits = new int[dc(num)];
  76. for (int d = 0; d < digits.length; d++)
  77. digits[d] = gd(num, d + 1);
  78.  
  79. int digsum = 0;
  80. for (int d : digits)
  81. digsum += d;
  82.  
  83. if (digsum != num % 100)
  84. return false;
  85.  
  86. return true;
  87. }
  88.  
  89. public static boolean tn3(int num)
  90. {
  91. int[] digits = new int[dc(num)];
  92. for (int d = 0; d < digits.length; d++)
  93. digits[d] = gd(num, d + 1);
  94.  
  95. if (gd(num, 1) + gd(num, 2) != gd(num, digits.length - 1) + gd(num, digits.length))
  96. return false;
  97.  
  98. return true;
  99. }
  100.  
  101. public static boolean tn4(int num)
  102. {
  103. int[] digits = new int[dc(num)];
  104. for (int d = 0; d < digits.length; d++)
  105. digits[d] = gd(num, d + 1);
  106.  
  107. int bigsum = num + rr(num) + rl(num) + rr(rr(num)) + rl(rl(num)) + rr(rr(rr(num)));
  108.  
  109. //System.out.println(bigsum + " and " + num + " : " + fd(bigsum) + " " + gd(num, dc(num - 1)));
  110.  
  111. if (fd(bigsum) == gd(num, dc(num) - 1) && ld(bigsum) == ld(num))
  112. return true;
  113. if (fd(bigsum) == ld(num) && ld(bigsum) == gd(num, dc(num) - 1))
  114. return true;
  115.  
  116. return false;
  117. }
  118.  
  119. public static int rl(int num)
  120. {
  121. return (num * 10) - (fd(num) * (int)(Math.pow(10, dc(num)))) + fd(num);
  122. }
  123.  
  124. public static int rr(int num)
  125. {
  126. return (num / 10) + ld(num) * (int)(Math.pow(10, dc(num) - 1));
  127. }
  128.  
  129. public static int dc(int num)
  130. {
  131. while (num / 10 > 0)
  132. return 1 + dc(num / 10);
  133. return num > 0 ? 1 : 0;
  134. }
  135.  
  136. public static int gd(int num, int digit)
  137. {
  138. return (num / (int)(Math.pow(10, dc(num) - digit))) % 10;
  139. }
  140.  
  141. public static int fd(int num)
  142. {
  143. return gd(num, 1);
  144. }
  145.  
  146. public static int ld(int num)
  147. {
  148. return gd(num, dc(num));
  149. }
  150.  
  151. public static void arewethereyet()
  152. {
  153. System.out.println("WE HAVE " + pns.size() + " POSSIBLE NUMS");
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement