批处理输出n阶幻方脚本

中国古代称为“河图”、“洛书”,又叫“纵横图”。

代码如下:

@echo off
:start
set /p n=Please input your odd integer:
set /a p=n%%2
if %p% equ 0 echo Input error!&&goto start

set /a i=%n%
set /a t=(%n%+1)/2
set /a a%t%_%n%=1,temp=1,m=n-1,p=n
:repeat
set /a p-=1
if %p% lss 0 goto array
for /l %%a in (1 1 %m%) do (
   setlocal enabledelayedexpansion
   if !t! gtr %n% set /a t=1
   if !i! gtr %n% set /a i=1
   set /a s=!t!+1,q=!i!+1
   if !s! gtr %n% set /a s=1
   if !q! gtr %n% set /a q=1
   set /a a!s!_!q!=a!t!_!i!+1,t+=1,i+=1
   set /a temp+=1
   if !temp! equ %n% (
         set /a temp=1,tmp=a!s!_!q!,q-=1,i-=1
         if !q! equ 0 set /a q=n
         set /a a!s!_!q!=tmp+1
         goto repeat
)  
)
pause
:array
echo Now behold the powerful Magic Sqaure^^!:
set /a a!t!_!n!=1
for /l %%c in (!n! -1 1) do (
   for /l %%d in (1 1 !n!) do (
              set /a result=a%%d_%%c
              set /p=!result!<nul     
)
echo.
)
pause>nul

(0)

相关推荐

  • C语言实现魔方阵算法(幻方阵 奇魔方 单偶魔方实现)

    例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方.而偶幻方又分为是4的倍数(如4,8,12--)和不是4的倍数(如6,10,14--)两种.下面分别进行介绍. 2 奇魔方的算法 2.1 奇魔方的规律与算法 奇魔方(阶数n = 2 * m + 1,m =1,2,3--)规律如下: 数字1位于方阵中的第一行中间一列:数字a(1 < a  ≤ n2)所在行数比a-1行数少1,若a-1的行数为1,则a的行数为n:数字a(1 < a  ≤ n2)所在列数比a-1列数大1,若a-1的列

  • 批处理输出n阶幻方脚本

    中国古代称为"河图"."洛书",又叫"纵横图". 复制代码 代码如下: @echo off:startset /p n=Please input your odd integer:set /a p=n%%2if %p% equ 0 echo Input error!&&goto start set /a i=%n%set /a t=(%n%+1)/2set /a a%t%_%n%=1,temp=1,m=n-1,p=n:repeat

  • bat/cmd批处理连接SqlServer数据库查询脚本

    难得今天晚上9点前赶回家,而且最近草稿箱也压了不少"湿货",就挑一篇发出来好了!不过在发文章之前先吐槽一下那个从昨天攻击张戈博客到现在还在继续的无聊蛋疼之人! 本来就算开启了云加速全缓存也是扛不住的,因为静态中混着动态请求,比如浏览计数.还好灵机一动,对这些动态做了点小手脚,现在基本毫无压力了!粗略分析一下这个攻击博客的小人,无外乎是2种人: ①.最近张戈博客流量大涨,估计遭人妒忌或者是挡人财路: ②.来张戈博客换友链被拒或被忽略的人,怀恨在心. 对于①:俗话说无人妒忌是庸才,那么无人

  • BAT批处理一键生成APK包脚本分享

    BAT批处理一键生成APK包脚本分享 将本bat放到cocos2dx目录下你的工程的project.android下(需修改变量). ASmaker 用来将Resources文件夹下的lua文件批量加密 算法参考我之前的rc4算法实现. 每次打包apk前 svn 最新的工程代码 和 cocos2dx引擎代码. @echo off rem 工具路径 set JAVA_HOME = "C:\Program Files\Java\jdk1.8.0_05" set ANT_HOME = &qu

  • 解决bat批处理输出乱码的问题

    乱码原因 Windows的cmd.exe默认编码格式为ANSI 简体中文版的Windows, 其ANSI对应微软Codepage为cp936 大致等同于GBK编码 如果你的bat文件是UTF-8编码的, 或者是是其他Codepage下创建的, 比如 Windows日语版下创建的bat文件, 保存为ANSI编码时对应cp932, 即Shift-JIS编码 Windows繁体中文版下创建的bat文件, 保存为ANSI编码时对应cp950, 即Big5编码 当bat文件编码与当前cmd环境不一致时,

  • 控制输出颜色的shell脚本

    实现代码: #!/bin/sh # ANSI Color -- Use these variables to make output in different colors # and formats. Color names that end with 'f' are foreground (text) colors, # and those ending with 'b' are background colors. initializeANSI() { esc="\033" #

  • 批处理实现的网络巡检脚本(PING与端口扫描)

    check.bat 内容(脚本内容可能会应为排版问题不能直接复制粘帖运行,可自行修改): 复制代码 代码如下: @echo off rem checklist.csv字段为: IP,名称,描述,TCP应用端口,UDP应用端口 rem checklist.csv中请使用,@,替换,, 并不要使用()进行内容描述 set e_file=error.log set e_count=0 for /f "skip=1 tokens=1,2,3,4,5* delims=," %%i in (che

  • 批处理BAT脚本中set命令的使用详解(批处理之家Batcher)

    目录 一.使用 set 命令进行赋值 1.等号两边不要有空格 2.变量值包含特殊字符需用双引号 3.避免使用系统环境变量同名的自定义变量 4.语法可行但不推荐使用 二.使用 set /p 命令读取输入 三.使用 set /a 命令进行数学运算(1) 四.使用 set /a 命令进行数学运算(2) 五.使用 set 命令进行字符串截取 六.使用 set 命令进行字符串替换 七.set命令知识点(1)把命令结果赋值给变量 八.set命令知识点(2)显示以某字符开头的变量 一.使用 set 命令进行赋

  • 实现两个文本同行交替输出的批处理代码

    有两个文本如下(实际中并不知道两文本各有多少行): 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzz

  • 妙用脚本和批处理清除电脑中的痕迹

    我们知道,使用Windows操作系统在你打开文件.输入各种密码或用QQ与朋友聊天,都可能引发个人机密泄漏,都会在机器上留下踪迹.为安全起见,如果是在公用电脑上,你应该在离开时抹去这些操作后留下的痕迹,下面是可能的泄密点及解决办法. 一.可能的泄密点及其存在的位置 Windows中可能泄漏我们的秘密的地方有两处:一是存在于文件夹中,一是存在于注册表里. 1.文件夹中:在"开始"菜单中的"文档"中会显示我们浏览过的文件,如果它们暴露其中,将使我们的秘密不保,应将其删除.

  • 批处理将字符串或日期输出到Windows剪贴板的实现方法

    如下操作需要借助于clip.exe(C:\Windows\System32\clip.exe),系统自带,不需要下载. C:\Windows\System32>clip /?   CLIP   描述:     将命令行工具的输出重定向到 Windows 剪贴板.这个文本输出可以被粘贴     到其他程序中.   参数列表:     /?                  显示此帮助消息.   示例:     DIR | CLIP          将一份当前目录列表的副本放入 Windows 剪

随机推荐