展会信息港展会大全

批处理输出n阶幻方脚本
来源:互联网   发布日期:2016-01-26 10:44:20   浏览:2617次  

导读:幻方又称为魔方,方阵或厅平方。在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为幻方,中国古代称为河图、洛书,又叫纵横图。代码如下 ...

幻方又称为魔方,方阵或厅平方。在一个由若干个排列整齐的数组成的正方形中,图中任意一横行、一纵行及对角线的几个数之和都相等,具有这种性质的图表,称为 幻方 ,

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

代码如下:

@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

赞助本站

人工智能实验室

相关热词: 幻方 批处理

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港