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    }
  • 相关阅读:
    eworkflow,eform,ebiao和信息系统的集成过程(for dotnet)
    HTTP协议详解
    phpstudy安装好之后mysql无法启动(亲测可行)
    关于在phpStudy环境下,windows cmd中 php不是内部命令问题
    php 中使用cURL发送get/post请求,上传图片,批处理
    Laravel 5.4: 特殊字段太长报错 420000 字段太长
    请自行检查是否安装VC9运行库??
    一起谈.NET技术,舍WebService 用.NET4中jQuery调用WCF 狼人:
    一起谈.NET技术,Silverlight 游戏开发小技巧:昼夜交替动画 狼人:
    一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(一)序言 狼人:
  • 原文地址:https://www.cnblogs.com/faib/p/659789.html
Copyright © 2011-2022 走看看