这段代码大略的意思.大神.

这段代码大概的意思.大神...

               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;
}

------解决思路----------------------
n要小于m,最后的输出只和n有关,具体在干嘛,不清楚
------解决思路----------------------
你用个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");
}

——————
我观察输出的感觉
第一个for循环是把这个变为num[n][n]的内容都设为1,n必须小于等于m。n*n矩阵
第二个for循环好奇怪,看几眼貌似没啥规律
第三个for循环是无效的,就是第二个for循环的结果……

------解决思路----------------------
貌似是实现一个算法把,具体不知道
------解决思路----------------------
随便值代入一些试试看