zoukankan      html  css  js  c++  java
  • 奇数阶幻方

    package com.lesson2;

    import java.util.Scanner;

    /*
     * 奇数阶幻方
     *  罗伯法口诀:1居上行正中央,依次斜填右上方,上方出格下边放,右边出格左边放,排重便在下格放,右上同出一个样。具体填法如下:

        8    1   6
        3    5   7
        4    9   2

    1写在上行正中间;2斜填右上方时上方出格就写在同列的下边;
    2的右上方填3时右边出格,3就写在同行的左边;
    3的右上方是1排重了,4就写在3的下面;
    依次斜填写好5、6;
    6的右方上方同时出格,7就写在6的下边;
    7的右上方填8时右边出格,8就写在同行的左边;
    8的右上方填9时上方出格,9就写在同列的下边。


     */
    public class MagicSquare
    {
     public static void main(String[] args)
     {
      System.out.println("请输入幻方的阶数:");
      Scanner scanner = new Scanner(System.in);
      int size = scanner.nextInt();
      int mat[][]=new int [size][size];
      int i=0;
      int n=size;
      int j=n/2;
    //  这里的算法设计非常重要;
      for(int k=1;k<=n*n;k++)
      {
       mat[i][j]=k;
       if(k%n==0)
       {
        i=(i+1)%n;
        }
       else
       {
        i=(i-1+n)%n; j=(j+1)%n;
        }
      }

      for(i=0;i<n;i++)
      {
       for(j=0;j<n;j++)
        System.out.print(mat[i][j]+"\t");
       System.out.println();
      }
     }
    }

  • 相关阅读:
    ASP.NET Cookies简单应用 记住用户名和密码
    index.dat文件剖析
    簇集索引与聚集索引
    C#开发飞信机器人
    详解Javascript中的Url编码/解码
    基于关系型数据库的WEB OA公文流转系统
    今天Apple陆家嘴点“开战”
    准备在cnblogs活动上的演讲
    4年技术经验
    chinajoy之行
  • 原文地址:https://www.cnblogs.com/penggy/p/7475870.html
Copyright © 2011-2022 走看看