Scanner reader = new Scanner(System.in); int n = reader.nextInt(); int m = reader.nextInt(); reader.close(); int count = 0; int[][] num = new int[n][m]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { //System.out.println(""+num[i][j]+""); num[i][j] = 1; } } for (int i = 0; i < n - 1; i++) { for (int j = 0; j < m - 1; j++) { Q(num, i + 1, j + 1); } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (num[i][j] == -1) { count++; } } } System.out.println(count); } public static void Q(int[][] num, int x, int y) { num[x - 1][y - 1] = -num[x][y]; for (int i = 2;; i++) { if (x * i < num.length) { num[x * i - 1][y - 1] = -num[x * i - 1][y - 1]; } if (y * i < num[x].length) { num[x - 1][y * i - 1] = -num[x - 1][y * i - 1]; } if (x * i < num.length && y * i < num[x].length) { num[x * i - 1][y * i - 1] = -num[x * i - 1][y * i - 1]; } if (x * i > num.length && y * i > num[x].length) { break; } } return; } |
|
有没有人
|
|
10分 |
n要小于m,最后的输出只和n有关,具体在干嘛,不清楚
|
10分 |
你用个java程序看吧,因为后台可以输出的比较好看
貌似和矩阵有关 每执行一个方法我就输出一下,用下面的 public static void printNum(int[][] num){ for(int i=0;i<num.length;i++){ for(int j=0;j<num[num.length-1].length;j++){ System.out.print(num[i][j]); } System.out.println(""); } System.out.println("\n\n"); } —————— |
10分 |
貌似是实现一个算法把,具体不知道
|
10分 |
随便值代入一些试试看
|