谁会用c语言编八皇后问题
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
int a[9]={0};
shuchu()
{
int i;
for(i=1;i<9;i++)
printf("%d",a[i]);
printf("\n");
}
int panduan(int n)
{
int i;
for(i=1;i<n;i++)
if(a[i]==a[n]||a[i]-a[n]==n-i||a[i]-a[n]==i-n)return 0;
return 1;
}
main()
{
int k=1,count=0;
a[k]=1;
while(k>0)
{
if(k<=8&&a[k]<=8)
{
if(panduan(k)==0)a[k]++;
else
{
k++;
a[k]=1;
}
}
else
{
if(k>8)
{
count++;
shuchu();
}
k--;
a[k]++;
}
}
printf("%d",count);
system("pause");
return 0;
}
#include<stdlib.h>
int a[9]={0};
shuchu()
{
int i;
for(i=1;i<9;i++)
printf("%d",a[i]);
printf("\n");
}
int panduan(int n)
{
int i;
for(i=1;i<n;i++)
if(a[i]==a[n]||a[i]-a[n]==n-i||a[i]-a[n]==i-n)return 0;
return 1;
}
main()
{
int k=1,count=0;
a[k]=1;
while(k>0)
{
if(k<=8&&a[k]<=8)
{
if(panduan(k)==0)a[k]++;
else
{
k++;
a[k]=1;
}
}
else
{
if(k>8)
{
count++;
shuchu();
}
k--;
a[k]++;
}
}
printf("%d",count);
system("pause");
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询