我把一个算法例子译成了java
- package ext;
- import java.util.*;
- public class Text2 {
- static final int MAX=64;
- static int [][]a=new int [MAX+1][MAX+1];
- public static void main(String[]args){
- int m;
- System.out.println("输入参赛人数:");
- Scanner in=new Scanner(System.in);
- m=new Integer(in.nextLine().trim());
- fun(1,m);
-
- }
- public static void fun(int k,int n){
- if (n==2){
- a[k][1]=k;
- a[k][2]=k+1;
- a[k+1][1]=k+1;
- a[k+1][2]=k;
- pln();
- }else{
- fun(k,n/2);
- fun(k+n/2,n/2);
- for(int i=k ;i<k+n/2 ;i++ ){
- for(int j=n/2+1;j<=n ;j++ ){
- a[i][j]=a[i+n/2][j-n/2];
- }System.out.println("-->");pln();
- }
- for(int i=k+n/2 ;i<k+n ;i++ ){
- for(int j=n/2+1 ;j<=n ;j++ ){
- a[i][j]=a[i-n/2][j-n/2];
- }System.out.println("**");pln();
- }
- }
-
- }
- public static void pln(){
- for(int i=1;i<=8;i++){
- for(int j=1;j<=8;j++){
- System.out.print(a[i][j]+" ");
- }
- System.out.println();
- }
- System.out.println();
- }
-
- }
复制代码
输入参赛人数:
8
1 2 0 0 0 0 0 0
2 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 2 0 0 0 0 0 0
2 1 0 0 0 0 0 0
3 4 0 0 0 0 0 0
4 3 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-->
1 2 3 4 0 0 0 0
2 1 0 0 0 0 0 0
3 4 0 0 0 0 0 0
4 3 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-->
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 0 0 0 0 0 0
4 3 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
**
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
**
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 0 0 0 0 0 0
6 5 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 0 0 0 0 0 0
6 5 0 0 0 0 0 0
7 8 0 0 0 0 0 0
8 7 0 0 0 0 0 0
-->
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 0 0 0 0 0 0
7 8 0 0 0 0 0 0
8 7 0 0 0 0 0 0
-->
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 0 0 0 0 0 0
8 7 0 0 0 0 0 0
**
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 0 0 0 0 0 0
**
1 2 3 4 0 0 0 0
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
-->
1 2 3 4 5 6 7 8
2 1 4 3 0 0 0 0
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
-->
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 0 0 0 0
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
-->
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 0 0 0 0
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
-->
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 0 0 0 0
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
**
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 0 0 0 0
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
**
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 0 0 0 0
8 7 6 5 0 0 0 0
**
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 3 4 1 2
8 7 6 5 0 0 0 0
**
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 3 4 1 2
8 7 6 5 4 3 2 1
|