----------------解决方案--------------------------------------------------------
[bo][un]huizi0711[/un] 在 2008-6-13 09:07 的发言:[/bo]
我觉得三行是不可能的
我觉得三行是不可能的
你相不相信都没有关系,因为三行算幻方的代码一年前我已经写出来了
[color=white]
----------------解决方案--------------------------------------------------------
牛人到处有
我相信
不过我还是想看看撒
----------------解决方案--------------------------------------------------------
/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
#include <iostream>
template<int x>
void Make(int nList[][x], int n)//计算生成函数
{
for(int n2=n*n,n1=0,nh=n/2;n1<n2;n1++)
nList[(n1*(n-1)+nh+n1/n)%n][(n1+nh+1+n1/n)%n]=n1+1;
};
int main()
{
int nList[30][30],n=0;
while(scanf("%d",&n)==1)//输入阶数
{
if(!(n&1)) continue;
Make(nList, n);//调用生成
for(int n2=0;n2<n;n2++)//结果输出
{
for(int n1=0;n1<n;n1++)
printf("%4d",nList[n2][n1]);
printf("\n");
}
}
return 0;
}
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org **
*****************************************************************/
#include <iostream>
template<int x>
void Make(int nList[][x], int n)//计算生成函数
{
for(int n2=n*n,n1=0,nh=n/2;n1<n2;n1++)
nList[(n1*(n-1)+nh+n1/n)%n][(n1+nh+1+n1/n)%n]=n1+1;
};
int main()
{
int nList[30][30],n=0;
while(scanf("%d",&n)==1)//输入阶数
{
if(!(n&1)) continue;
Make(nList, n);//调用生成
for(int n2=0;n2<n;n2++)//结果输出
{
for(int n1=0;n1<n;n1++)
printf("%4d",nList[n2][n1]);
printf("\n");
}
}
return 0;
}
不好意思,搞错了,生成的函数只要两行
[color=white]
[[it] 本帖最后由 爱喝牛奶的猫咪 于 2008-6-16 22:51 编辑 [/it]]
----------------解决方案--------------------------------------------------------
恩,赞一个。
话说,与其这样写,不如代码写多一点,一来好理解,二来速度快一些。
----------------解决方案--------------------------------------------------------
同意楼上观点
太短可读性就不好了
----------------解决方案--------------------------------------------------------
其实可读性还不错的,无非就是找个公式,然后学乌龟爬……
关键是,计算公式肯定比直接模拟要慢一点……
----------------解决方案--------------------------------------------------------
其实这已经不算什么了,要是反过来计算就恐怖了
[flash=400,300]http://yzfy.byethost17.com/flash.php[/flash][color=white]
----------------解决方案--------------------------------------------------------