批处理输出n阶幻方脚本

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1790
收藏 0 赞 0 分享

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

复制代码 代码如下:

@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

更多精彩内容其他人还在看

DOS 命令字典

DOS 命令字典
收藏 0 赞 0 分享

用replace实现替换正在使用的文件

用replace实现替换正在使用的文件
收藏 0 赞 0 分享

黑客基础之DOS (最齐全)超强推荐

黑客基础之DOS (最齐全)超强推荐
收藏 0 赞 0 分享

bat运行时不弹出那个黑框框的完美解决方案

bat运行时不弹出那个黑框框的完美解决方案
收藏 0 赞 0 分享

收藏的比较完整的批处理教程第1/2页

收藏的比较完整的批处理教程
收藏 0 赞 0 分享

批处理版的SC

批处理版的SC
收藏 0 赞 0 分享

BAT文件语法和技巧(bat文件的编写及使用)

批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件
收藏 0 赞 0 分享

用 Net 命令使局域网文件批量同步更新

用 Net 命令使局域网文件批量同步更新
收藏 0 赞 0 分享

如何用DOS命令删除顽固文件夹啊

如何用DOS命令删除顽固文件夹啊
收藏 0 赞 0 分享

dos下删除文件夹和文件的方法

dos下删除文件夹和文件的方法
收藏 0 赞 0 分享
查看更多