Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class mane
- {
- static ArrayList<Integer> pns = new ArrayList<Integer>();
- 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 };
- public static void main(String[] dinnies)
- {
- for (int i = 0; i < primes.length; i++)
- for (int j = 0; j < primes.length; j++)
- for (int k = 0; k < primes.length; k++)
- pns.add((primes[i] * 10000) + (primes[j] * 100) + primes[k]);
- arewethereyet();
- int NUM = 416723;
- //Tests if all digits are unique:
- System.out.println(tn1(NUM));
- //Tests if digital sum = last two digits:
- System.out.println(tn2(NUM));
- //Tests if sum of first two digits = sum of last two:
- System.out.println(tn3(NUM));
- //Tests if the fucking sum works:
- System.out.println(tn4(NUM));
- for (int i = 0; i < pns.size(); i++)
- {
- int n = pns.get(i);
- if (!(testNum(n)))
- {
- pns.remove(i);
- i--;
- }
- }
- arewethereyet();
- if (pns.size() <= 10)
- for (int woah : pns)
- System.out.println(woah);
- }
- public static boolean testNum(int num)
- {
- int score = 0;
- if (tn1(num)) score++;
- if (tn2(num)) score++;
- if (tn3(num)) score++;
- if (tn4(num)) score++;
- if (score > 3)
- return true;
- return false;
- }
- public static boolean tn1(int num)
- {
- int[] digits = new int[dc(num)];
- for (int d = 0; d < digits.length; d++)
- digits[d] = gd(num, d + 1);
- for (int d = 0; d < digits.length; d++)
- for (int dd = 0; dd < digits.length; dd++)
- if (d != dd && digits[d] == digits[dd])
- return false;
- return true;
- }
- public static boolean tn2(int num)
- {
- int[] digits = new int[dc(num)];
- for (int d = 0; d < digits.length; d++)
- digits[d] = gd(num, d + 1);
- int digsum = 0;
- for (int d : digits)
- digsum += d;
- if (digsum != num % 100)
- return false;
- return true;
- }
- public static boolean tn3(int num)
- {
- int[] digits = new int[dc(num)];
- for (int d = 0; d < digits.length; d++)
- digits[d] = gd(num, d + 1);
- if (gd(num, 1) + gd(num, 2) != gd(num, digits.length - 1) + gd(num, digits.length))
- return false;
- return true;
- }
- public static boolean tn4(int num)
- {
- int[] digits = new int[dc(num)];
- for (int d = 0; d < digits.length; d++)
- digits[d] = gd(num, d + 1);
- int bigsum = num + rr(num) + rl(num) + rr(rr(num)) + rl(rl(num)) + rr(rr(rr(num)));
- //System.out.println(bigsum + " and " + num + " : " + fd(bigsum) + " " + gd(num, dc(num - 1)));
- if (fd(bigsum) == gd(num, dc(num) - 1) && ld(bigsum) == ld(num))
- return true;
- if (fd(bigsum) == ld(num) && ld(bigsum) == gd(num, dc(num) - 1))
- return true;
- return false;
- }
- public static int rl(int num)
- {
- return (num * 10) - (fd(num) * (int)(Math.pow(10, dc(num)))) + fd(num);
- }
- public static int rr(int num)
- {
- return (num / 10) + ld(num) * (int)(Math.pow(10, dc(num) - 1));
- }
- public static int dc(int num)
- {
- while (num / 10 > 0)
- return 1 + dc(num / 10);
- return num > 0 ? 1 : 0;
- }
- public static int gd(int num, int digit)
- {
- return (num / (int)(Math.pow(10, dc(num) - digit))) % 10;
- }
- public static int fd(int num)
- {
- return gd(num, 1);
- }
- public static int ld(int num)
- {
- return gd(num, dc(num));
- }
- public static void arewethereyet()
- {
- System.out.println("WE HAVE " + pns.size() + " POSSIBLE NUMS");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement