我一个朋友闲着没事,全用for写了一个,我没那个闲心,贴上来让大家笑笑!
void EightQueen()
{
for(int n1=1;n1<9;n1++){
for(int n2=1;n2<9;n2++){
if(n2==n1-1|n2==n1|n2==n1+1) continue;
for(int n3=1;n3<9;n3++){
if(n3==n1-2|n3==n1|n3==n1+2|n3==n2-1|n3==n2|n3==n2+1) continue;
for(int n4=1;n4<9;n4++){
if(n4==n1-3|n4==n1|n4==n1+3|n4==n2-2|n4==n2|n4==n2+2|n4==n3-1|n4==n3|n4==n3+1) continue;
for(int n5=1;n5<9;n5++){
if(n5==n1-4|n5==n1|n5==n1+4|n5==n2-3|n5==n2|n5==n2+3|n5==n3-2|n5==n3|n5==n3+2|n5==n4-1|n5==n4|n5==n4+1) continue;
for(int n6=1;n6<9;n6++){
if(n6==n1-5|n6==n1|n6==n1+5|n6==n2-4|n6==n2|n6==n2+4|n6==n3-3|n6==n3|n6==n3+3|n6==n4-2|n6==n4|n6==n4+2|n6==n5-1|n6==n5|n6==n5+1) continue;
for(int n7=1;n7<9;n7++){
if(n7==n1-6|n7==n1|n7==n1+6|n7==n2-5|n7==n2|n7==n2+5|n7==n3-4|n7==n3|n7==n3+4|n7==n4-3|n7==n4|n7==n4+3|n7==n5-2|n7==n5|n7==n5+2|n7==n6-1|n7==n6|n7==n6+1) continue;
int n8 = 36-n1-n2-n3-n4-n5-n6-n7;
System.out.println("1排"+n1+"列 "+"2排"+n2+"列 "+"3排"+n3+"列 "+"4排"+n4+"列 "+"5排"+n5+"列 "+"6排"+n6+"列 "+"7排"+n7+"列 "+"8排"+n8+"列");
}
}
}
}
}
}
}
void EightQueen()
{
for(int n1=1;n1<9;n1++){
for(int n2=1;n2<9;n2++){
if(n2==n1-1|n2==n1|n2==n1+1) continue;
for(int n3=1;n3<9;n3++){
if(n3==n1-2|n3==n1|n3==n1+2|n3==n2-1|n3==n2|n3==n2+1) continue;
for(int n4=1;n4<9;n4++){
if(n4==n1-3|n4==n1|n4==n1+3|n4==n2-2|n4==n2|n4==n2+2|n4==n3-1|n4==n3|n4==n3+1) continue;
for(int n5=1;n5<9;n5++){
if(n5==n1-4|n5==n1|n5==n1+4|n5==n2-3|n5==n2|n5==n2+3|n5==n3-2|n5==n3|n5==n3+2|n5==n4-1|n5==n4|n5==n4+1) continue;
for(int n6=1;n6<9;n6++){
if(n6==n1-5|n6==n1|n6==n1+5|n6==n2-4|n6==n2|n6==n2+4|n6==n3-3|n6==n3|n6==n3+3|n6==n4-2|n6==n4|n6==n4+2|n6==n5-1|n6==n5|n6==n5+1) continue;
for(int n7=1;n7<9;n7++){
if(n7==n1-6|n7==n1|n7==n1+6|n7==n2-5|n7==n2|n7==n2+5|n7==n3-4|n7==n3|n7==n3+4|n7==n4-3|n7==n4|n7==n4+3|n7==n5-2|n7==n5|n7==n5+2|n7==n6-1|n7==n6|n7==n6+1) continue;
int n8 = 36-n1-n2-n3-n4-n5-n6-n7;
System.out.println("1排"+n1+"列 "+"2排"+n2+"列 "+"3排"+n3+"列 "+"4排"+n4+"列 "+"5排"+n5+"列 "+"6排"+n6+"列 "+"7排"+n7+"列 "+"8排"+n8+"列");
}
}
}
}
}
}
}
解决方案 »
- 关于float和double后面小数点数的问题
- 求助:字体设置问题
- log4j怎样将不同优先级的日志输出到不同文件?
- 请大家帮帮忙,我搞的那个JAVA程序设计实在是搞不动了,如果有吧友知道做法的请帮我自拍下!谢谢!
- UTF_8格式的XML文件中包含中文信息,在application中不能争取显示,如何转换gb2312格式,能正确显示!!!
- LDAP编程碰到的紧急问题求助:关于多条件查询
- JAVA出错
- 怎么由类名得到该类的对象
- 请问在swt的text中怎样保证使其输入的内容只能是数字?
- 求教:关于javax.swing.JList的事件监听
- applet里的tooltip
- 第一次在这问问题,真的希望大家尽快帮帮我
{
public static int [] x = new int [50];
public static boolean [] a = new boolean [50];
public static boolean [] b = new boolean [50];
public static boolean [] c = new boolean [50]; public static void PrintOut()
{
for(int h = 8; h <= 15;h++)
System.out.println(x[h]);
} public static void Generate (int n)
{
for(int h = 0;h <=7; h++)
{
if (a[h] && b[n - h] && c[n + h])
{
x[n] = h;
a[h] = false;
b[n - h] = false;
c[n + h] = false;
c[n + h] = false;
if (n < 15)
Generate (n + 1);
else
PrintOut();
a[h] = true;
b[n - h] = true;
c[n + h] = true;
}
}
} public static void main(String[] args)
{
int n = 8;
for(int h = 0;h <=15;h++) a[h] = true;
for(int h = 0;h <=15;h++) b[h] = true;
for(int h = 0;h <=22;h++) c[h] = true;
Generate(n);
System.exit(0);
}
}这是我以前编写的程序,你看看吧