日期:2014-05-20  浏览次数:20824 次

【算法比赛】打印有变化规律的数字正方形,看谁的代码扩展性、可读性最好。
要求:
  打印一组有变化规律的正方形(规则自己分析了)
  如下是宽度为8的情况:
C# code
/*
01--02--03--04--05--06--07--08
                             |
28--29--30--31--32--33--34  09
 |                       |   |
27  48--49--50--51--52  35  10
 |   |               |   |   |
26  47  60--61--62  53  36  11
 |   |   |       |   |   |   |
25  46  59  64--63  54  37  12
 |   |   |           |   |   |
24  45  58--57--56--55  38  13
 |   |                   |   |
23  44--43--42--41--40--39  14
 |                           |
22--21--20--19--18--17--16--15
//////////////////////////////
01--02  06--07  15--16  28--29
   /   /   /   /   /   /   /
03  05  08  14  17  27  30  43
 | /   /   /   /   /   /   / |
04  09  13  18  26  31  42  44
   /   /   /   /   /   /   /
10  12  19  25  32  41  45  54
 | /   /   /   /   /   /   / |
11  20  24  33  40  46  53  55
   /   /   /   /   /   /   /
21  23  34  39  47  52  56  61
 | /   /   /   /   /   /   / |
22  35  38  48  51  57  60  62
   /   /   /   /   /   /   /
36--37  49--50  58--59  63--64
//////////////////////////////
01--02  04  07  11  16  22  29
   />  /   /   /   /   /   /
03  05  08  12  17  23  30  37
   />  /   /   /   /   /   /
06  09  13  18  24  31  38  44
   />  /   /   /   /   /   /
10  14  19  25  32  39  45  50
   />  /   /   /   /   /   /
15  20  26  33  40  46  51  55
   />  /   /   /   /   /   /
21  27  34  41  47  52  56  59
   />  /   /   /   /   /   /
28  35  42  48  53  57  60  62
   />  />  />  />  />  />  /
36  43  49  54  58  61  63--64
//////////////////////////////
01  09  23  35  45  53  59  63
   \   \   \   \   \   \   \>
16  02  10  24  36  46  54  60
   \   \   \   \   \   \   \>
29  17  03  11  25  37  47  55
   \   \   \   \   \   \   \>
40  30  18  04  12  26  38  48
   \   \   \   \   \   \   \>
49  41  31  19  05  13  27  39
   \   \   \   \   \   \   \>
56  50  42  32  20  06  14  28
   \   \   \   \   \   \   \>
61  57  51  43  33  21  07  15
   \>  \>  \>  \>  \>  \>  \>
64  62  58  52  44  34  22  08
//////////////////////////////
64--63--62--61--60--59--58--57
                             |
37--38--39--40--41--42--43  56
 |                       |   |
36--35--34--33--32--31  44  55
                     |   |   |
17--18--19--20--21  30  45  54
 |               |   |   |   |
16--15--14--13  22  29  46  53
             |   |   |   |   |
05--06--07  12  23  28  47  52
 |       |   |   |   |   |   |
04--03  08  11  24  27  48  51
     |   |   |   |   |   |   |
01--02  09--10  25--26  49--50
//////////////////////////////
01--02--03--04--05--06--07--08
                             |
16--15--14--13--12--11--10--09
 |                       
17--18--19--20--21--22--23--24
                             |
32--31--30--29--28--27--26--25
 |
33--34--35--36--37--38--39--40
                             |
48--47--46--45--44--43--42--41
 |
49--50--51--52--53--54--55--56
                             |
64--63--62--61--60--59--58--57
*/


输入:正方形的宽度Size(整数,范围2-9)
输出:一组宽度为Size的正方形

输入样例:8
输出样例:
C# code
01  02  03  04  05  06  07  08
                              
28  29  30  31  32  33  34  09
                              
27  48  49  50  51  52  35  10
                              
26  47  60  61  62  53  36  11
                              
25  46  59  64  63  54  37  12
                              
24  45  58  57  56  55  38  13
                              
23  44  43  42  41  40  39  14
                              
22  21  20  19  18  17  16  15
-------
01  02  06  07  15  16  28  29
                            
03  05  08  14  17  27  30  43
                              
04  09  13  18  26  31  42  44
                            
10  12  19  25  32  41  45  54
                              
11  20  24  33  40  46  53  55
                            
21  23  34  39  47  52  56  61
                              
22  35  38  48  51  57  60  62
                            
36  37  49  50  58  59  63  64
-------
01  02  04  07  11  16  22  29
                            
03  05  08  12  17  23  30  37
                            
06  09  13  18  24  31  38  44
                            
10  14  19  25  32  39  45  50
                            
15  20  26  33  40  46  51  55
                            
21  27  34  41  47  52  56  59
                            
28  35  42  48  53  57  60  62
                            
36  43  49  54  58  61  63  64
-------
01  09  23  35  45  53  59  63
                             
16  02  10  24  36  46  54  60
                             
29  17  03  11  25  37  47  55
                             
40  30  18  04  12  26  38  48
                             
49  41  31  19  05  13  27  39
                             
56  50  42  32  20  06  14  28
                             
61  57  51  43  33  21  07  15
                             
64  62  58  52  44  34  22  08
-------
64  63  62  61  60  59  58  57
                              
37  38  39  40  41  42  43  56
                              
36  35  34  33  32  31  44  55
                              
17  18  19  20  21  30  45  54
                              
16  15  14  13  22  29  46  53
                              
05  06  07  12  23  28  47  52
                              
04  03  08  11  24  27  48  51
                              
01  02  09  10  25  26  49  50
-------
01  02  03  04  05  06  07  08
                              
16  15  14  13  12  11  10  09
                         
17  18  19  20  21  22  23  24
                              
32  31  30  29  28  27  26  25
  
33  34  35  36  37  38  39  40
                              
48  47  46  45  44  43  42  41
  
49  50  51  52  53  54  55  56
                              
64  63  62  61  60  59  58  57