計(jì)算九宮格排列
在控制臺(tái)輸入奇數(shù)的平方數(shù)可以獲得相應(yīng)類似九宮格數(shù)字的排列情況。這里我們以Java小程序來實(shí)現(xiàn)這個(gè)功能。```javaimport ;public class NineSquare { publi
在控制臺(tái)輸入奇數(shù)的平方數(shù)可以獲得相應(yīng)類似九宮格數(shù)字的排列情況。這里我們以Java小程序來實(shí)現(xiàn)這個(gè)功能。
```java
import ;
public class NineSquare {
public static void main(String[] args) {
("請(qǐng)輸入一個(gè)奇數(shù)的平方數(shù):");
int input new Scanner().nextInt();
int sqr (int) Math.sqrt(input);
if ((Math.pow((sqr), 2)) input) {
if (sqr % 2 0) {
("請(qǐng)輸入奇數(shù)的平方數(shù)!");
} else {
int[] inputNums new int[input];
int[][] square new int[sqr][sqr];
int i 0, j sqr / 2;
for (int n 0; n < input; n ) {
inputNums[n] n 1;
}
for (int m 0; m < input; m ) {
if (square[i][j] 0) {
square[i][j] inputNums[m];
} else {
if (i - 1 < 0 || j 1 > sqr) {
if (i 1 > sqr) {
i 0;
}
if (j 1 > sqr) {
j 0;
}
} else {
i--;
j ;
}
square[i][j] inputNums[m];
}
}
for (i 0; i < inputNums.length; i ) {
for (j 0; j < inputNums[0].length; j ) {
(square[i][j] " ");
}
("");
}
}
} else {
("您輸入的數(shù)據(jù)不能組成正方形!");
}
}
}
```
運(yùn)行該程序,輸入一個(gè)奇數(shù)的平方數(shù),比如81347,將會(huì)得到類似下面的九宮格排列:
```
8 13 47
57 69 80
1 12 23
34 45 56
78 89 9
11 22 33
44 46 67
79 90 10
21 32 43
54 55 66
77 8 18
20 31 42
53 5 6
17 19 30
41 52 63
65 76 16
27 29 40
51 62 74
4 15 36
38 49 60
71 73 3
14 25 37
48 59 70
81 2 24
35 50 61
72 75 7
26 28 39
58 68 1
```
這個(gè)程序?qū)崿F(xiàn)了根據(jù)用戶輸入的奇數(shù)平方數(shù)生成九宮格排列的功能。你也可以嘗試輸入其他奇數(shù)平方數(shù),比如958,來獲得不同的九宮格排列。