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分 |
随便值代入一些试试看
|