本人经较长时间的研究,得到一种很简单快速的奇数幻方算法,现公布如下,算法的数学证明暂时不公布,本文著作权Y___Y所有,转载要留名 ,联系方式:yinwei _88@sina.com
#include<stdio.h>
int mod(int i,int p)
{
if(i>=0)return i%p==0?p:i%p;
else return p+i;
}
void main()
{
int i,j,p,n;
scanf("%d",&p);n=(p-1)/2;
for(i=1;i<=p;i++)
{
for(j=1;j<=p;j++)printf("%4d",p*(mod(i+j-n-1,p)-1)+mod(j+mod(i+j-n-1,p)-n-1,p));
printf("/n");
}
getch();
}