• 魔方阵算法(一)


    一、奇阶魔方阵 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    }
  • 相关阅读:
    echarts二维坐标这样写出立体柱状图
    echarts中使图表循环显示tooltip-封装tooltip的方法轮询显示图表数据
    webpack--运行npm run dev自动打开浏览器以及热加载
    exports、module.exports和export、export default到底是咋回事,区别在哪里
    H5页面判断客户端是iOS或是Android并跳转对应链接唤起APP
    关于页面锚点跳转以及万能锚点跳转插件
    echarts Map 省份文字居中,即对应地图中心位置
    Moment.js 常见用法,常见API
    Tomcat 不加载图片验证码
    Cglib 动态代理
  • 原文地址:https://www.cnblogs.com/faib/p/659789.html
Copyright © 2020-2023  润新知