zoukankan      html  css  js  c++  java
  • 魔方阵算法(一)

    一、奇阶魔方阵 N=2*M+1(M=1,2,3,……)
    布阵规律为:
      a、把1放在N*N方阵中的第一行中间一列,即放在位置为(1,(N+1)/2);  
      b、后一个数存放的行数比前一个数存放的行数减1,若这个行数为0,则取行数为N;  
      c、后一个数存放的列数比前一个数存放的列数加1,若这个列数为N+1,则取列数为1;  
      d、如果前一个数是N的倍数,则后一个数存放的列数不变,而行数加1。
     1    class magic
     2    {
     3        [STAThread]
     4        static void Main(string[] args)
     5        {
     6            //奇阶魔方阵
     7            int n = 7;
     8            int[,] magicd = new int[n, n];
     9            int x = 0, y = (n + 1/ 2 - 1;
    10            for(int i = 1; i <= n * n; i++)
    11            {
    12                magicd[x, y] = i;
    13                if(i % n == 0)
    14                {
    15                    x++;
    16                }

    17                else
    18                {
    19                    x--;
    20                    y++;
    21                }

    22                check(ref x, ref y, n);
    23            }

    24            for(int i = 0; i < n; i++)
    25            {
    26                for(int j = 0; j < n; j++)
    27                {
    28                    Console.Write(magicd[i, j].ToString() + "\t");
    29                }

    30                Console.WriteLine("");
    31            }

    32            Console.ReadLine();
    33        }

    34
    35        private static void check(ref int x, ref int y, int n)
    36        {
    37            if(x < 0)
    38            {
    39                x = n - 1;
    40            }

    41            else if(x > n - 1)
    42            {
    43                x = 0;
    44            }

    45            if(y < 0)
    46            {
    47                y = n - 1;
    48            }

    49            else if(y > n - 1)
    50            {
    51                y = 0;
    52            }

    53        }

    54    }
  • 相关阅读:
    使用taobao的npm镜像源,同时安装nrm镜像工具
    文档工具
    javascript基础语法备忘录-变量和数据类型
    a :hover 和a:hover 区别
    我使用的brackets插件
    使用git将自己的代码同时保存在多个代码托管平台
    mac os安装macvim
    ubuntu下安装录屏软件
    解决 eclipse cdt 运行时控制台乱码解决
    Chrome开发者工具详解(五)之Network面板
  • 原文地址:https://www.cnblogs.com/faib/p/659789.html
Copyright © 2011-2022 走看看