标题:有关N皇后问题
取消只看楼主
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
 问题点数:0 回复次数:2 
有关N皇后问题
#include <stdio.h>
#include <math.h>
#include <conio.h>
int n=4;
int a[100];

int panduan(int k)
{
int i=1;
while((i<k)&&(a[i]!=a[k])&&(fabs((a[i]-a[k])/(i-k))!=1))
i++;
if(i==k)return 1;
else return 0;
}

int zx(int k)
{int i,f;
if(k>n)
{printf("\n");
for(i=1;i<n+1;i++)

printf("%d ",a[i]);

printf("\n");
getch();
}

else
{for(i=1;i<n+1;i++)
{
a[k]=i;
//printf("%d %d ",k,a[k]);getch();

if(panduan(k)==1)
zx(k+1);}
}
}


main()
{
zx(1);
scanf("%*d");
}


该程序执行正常
但是将n=8后,则没有输出
将数组改为【10000】后也无输出
请高手明示原因
搜索更多相关主题的帖子: 皇后 
2008-09-29 20:13
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
得分:0 
:-)
2008-09-29 20:14
子洋虾米
Rank: 1
来 自:哈尔滨市第九中学
等 级:新手上路
帖 子:79
专家分:0
注 册:2008-9-15
得分:0 
能说说我那个程序哪里出错了吗
感激不尽 啊
2008-09-30 08:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-235819-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.362146 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved