有关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】后也无输出
请高手明示原因