Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Random;
- public class SquarePermutations
- {
- public static void main(String[] args)
- {
- final int size = 9;
- Random rng = new Random(1); // Constant seed. Change if you want.
- int[] lut1, lut2, lut3;
- lut1 = generateTable(size, rng);
- lut2 = generateTable(size, rng);
- lut3 = generateTable(size, rng);
- for (int r = 0; r < size; r++)
- {
- for (int c = 0; c < size; c++)
- {
- int n = lut1[r];
- n = lut2[(n + c) % size];
- n = lut3[n];
- System.out.print((n + 1) + " ");
- }
- System.out.println();
- }
- }
- public static int[] generateTable(int size, Random rng)
- {
- int[] table = new int[size];
- for(int i = 0; i < size; i++) table[i] = i;
- // Fisher yates shuffle permutes our look up tables
- for (int i = size; i > 1; i--)
- {
- int r = rng.nextInt(i);
- int temp = table[i - 1];
- table[i - 1] = table[r];
- table[r] = temp;
- }
- return table;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement