Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Izziv7 {
  4.  
  5. public static List<Integer> pke(int n, int p) {
  6. List<Integer> ret = new ArrayList<>();
  7.  
  8. for(int i = 1; i < p; i++) {
  9. int prod = 1;
  10.  
  11. for(int j = 1; j < n; j++) {
  12. prod = (prod * i) % p;
  13.  
  14. if(prod == 1)
  15. break;
  16. }
  17. if(prod != 1) {
  18. prod = (prod * i) % p;
  19.  
  20. if(prod == 1) {
  21. ret.add(i);
  22. }
  23. }
  24. }
  25.  
  26. return ret;
  27. }
  28.  
  29. public static int[][] vandermonde(int n, int p, int pke) {
  30. int[][] vander = new int[n][n];
  31.  
  32. int prod = 1;
  33.  
  34. for(int i = 0; i < n; i++) {
  35. vander[i][0] = 1;
  36.  
  37. for(int j = 1; j < n; j++) {
  38. vander[i][j] = (vander[i][j-1] * prod) % p;
  39. }
  40.  
  41. prod *= pke;
  42. }
  43.  
  44. return vander;
  45. }
  46.  
  47. public static void main(String[] args) {
  48. Scanner sc = new Scanner(System.in);
  49.  
  50. int n = sc.nextInt();
  51. int p = 5;
  52.  
  53. List<Integer> pke = pke(n, p);
  54.  
  55. while(pke.size() == 0) {
  56. p += 2;
  57. pke = pke(n, p);
  58. }
  59.  
  60. System.out.format("%d: ", p);
  61. for(int i = 0; i < pke.size(); i++)
  62. System.out.format("%d ", pke.get(i));
  63.  
  64. System.out.println();
  65.  
  66. int[][] vander = vandermonde(n, p, pke.get(0));
  67.  
  68. for(int i = 0; i < n; i++){
  69. for(int j = 0; j < n; j++) {
  70. System.out.printf("%2d ", vander[i][j]);
  71. //System.out.format(" %d ", vander[i][j]);
  72. }
  73. System.out.println();
  74. }
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement