Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 676|回复: 0

[算法学习]C语言趣味程序百例精解之JAVA实现(98)八皇后问题

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-11-26 00:06:07 | 显示全部楼层 |阅读模式
    1. C语言趣味程序百例精解之JAVA实现(98)八皇后问题
    2. [img]http://img.javaxxz.com/2014/11/26/000607375.jpg[/img]
    3.   public class NQueen{
    4.     int count=0;
    5.     int x[]=new int[9];
    6.     public void print(){
    7.       System.out.printf("(%d>>",++count);
    8.       for(int i=1;i<=8;i++)
    9.         System.out.printf("%3d",x[i]);
    10.         System.out.println();
    11.     }
    12.   
    13.     public boolean canPlace(int k){   
    14.     for(int i = 1; i < k; i++){   
    15.         //判断处于同一列或同一斜线   
    16.        if(x[i] == x[k] || Math.abs(k-i) ==Math.abs(x[k]-x[i]))  
    17.             return false;   
    18.        }   
    19.     return true;   
    20.   }  
    21.    
    22.    public void queen(int i){   //8皇后的回溯代码
    23.     if(i> 8){   
    24.         print();   
    25.         return;   
    26.     }   
    27.     for(int j = 1; j <= 8; j++){   
    28.       x[i] = j;//记录所放的列   
    29.       if(canPlace(i)) queen(i+1);   
    30.     }   
    31.   }  
    32.    public static void main(String args[]){
    33.       new NQueen().queen(1);
    34.    }
    35. }
    36. 运行:

    复制代码

    C:java>javac NQueen.java C:java>java NQueen
    (1>> 1 5 8 6 3 7 2 4
    (2>> 1 6 8 3 7 4 2 5
    (3>> 1 7 4 6 8 2 5 3
    (4>> 1 7 5 8 2 4 6 3
    (5>> 2 4 6 8 3 1 7 5
    (6>> 2 5 7 1 3 8 6 4
    (7>> 2 5 7 4 1 8 6 3
    (8>> 2 6 1 7 4 8 3 5
    (9>> 2 6 8 3 1 4 7 5
    (10>> 2 7 3 6 8 5 1 4
    (11>> 2 7 5 8 1 4 6 3
    (12>> 2 8 6 1 3 5 7 4
    (13>> 3 1 7 5 8 2 4 6
    (14>> 3 5 2 8 1 7 4 6
    (15>> 3 5 2 8 6 4 7 1
    (16>> 3 5 7 1 4 2 8 6
    (17>> 3 5 8 4 1 7 2 6
    (18>> 3 6 2 5 8 1 7 4
    (19>> 3 6 2 7 1 4 8 5
    (20>> 3 6 2 7 5 1 8 4
    (21>> 3 6 4 1 8 5 7 2
    (22>> 3 6 4 2 8 5 7 1
    (23>> 3 6 8 1 4 7 5 2
    (24>> 3 6 8 1 5 7 2 4
    (25>> 3 6 8 2 4 1 7 5
    (26>> 3 7 2 8 5 1 4 6
    (27>> 3 7 2 8 6 4 1 5
    (28>> 3 8 4 7 1 6 2 5
    (29>> 4 1 5 8 2 7 3 6
    (30>> 4 1 5 8 6 3 7 2
    (31>> 4 2 5 8 6 1 3 7
    (32>> 4 2 7 3 6 8 1 5
    (33>> 4 2 7 3 6 8 5 1
    (34>> 4 2 7 5 1 8 6 3
    (35>> 4 2 8 5 7 1 3 6
    (36>> 4 2 8 6 1 3 5 7
    (37>> 4 6 1 5 2 8 3 7
    (38>> 4 6 8 2 7 1 3 5
    (39>> 4 6 8 3 1 7 5 2
    (40>> 4 7 1 8 5 2 6 3
    (41>> 4 7 3 8 2 5 1 6
    (42>> 4 7 5 2 6 1 3 8
    (43>> 4 7 5 3 1 6 8 2
    (44>> 4 8 1 3 6 2 7 5
    (45>> 4 8 1 5 7 2 6 3
    (46>> 4 8 5 3 1 7 2 6
    (47>> 5 1 4 6 8 2 7 3
    (48>> 5 1 8 4 2 7 3 6
    (49>> 5 1 8 6 3 7 2 4
    (50>> 5 2 4 6 8 3 1 7
    (51>> 5 2 4 7 3 8 6 1
    (52>> 5 2 6 1 7 4 8 3
    (53>> 5 2 8 1 4 7 3 6
    (54>> 5 3 1 6 8 2 4 7
    (55>> 5 3 1 7 2 8 6 4
    (56>> 5 3 8 4 7 1 6 2
    (57>> 5 7 1 3 8 6 4 2
    (58>> 5 7 1 4 2 8 6 3
    (59>> 5 7 2 4 8 1 3 6
    (60>> 5 7 2 6 3 1 4 8
    (61>> 5 7 2 6 3 1 8 4
    (62>> 5 7 4 1 3 8 6 2
    (63>> 5 8 4 1 3 6 2 7
    (64>> 5 8 4 1 7 2 6 3
    (65>> 6 1 5 2 8 3 7 4
    (66>> 6 2 7 1 3 5 8 4
    (67>> 6 2 7 1 4 8 5 3
    (68>> 6 3 1 7 5 8 2 4
    (69>> 6 3 1 8 4 2 7 5
    (70>> 6 3 1 8 5 2 4 7
    (71>> 6 3 5 7 1 4 2 8
    (72>> 6 3 5 8 1 4 2 7
    (73>> 6 3 7 2 4 8 1 5
    (74>> 6 3 7 2 8 5 1 4
    (75>> 6 3 7 4 1 8 2 5
    (76>> 6 4 1 5 8 2 7 3
    (77>> 6 4 2 8 5 7 1 3
    (78>> 6 4 7 1 3 5 2 8
    (79>> 6 4 7 1 8 2 5 3
    (80>> 6 8 2 4 1 7 5 3
    (81>> 7 1 3 8 6 4 2 5
    (82>> 7 2 4 1 8 5 3 6
    (83>> 7 2 6 3 1 4 8 5
    (84>> 7 3 1 6 8 5 2 4
    (85>> 7 3 8 2 5 1 6 4
    (86>> 7 4 2 5 8 1 3 6
    (87>> 7 4 2 8 6 1 3 5
    (88>> 7 5 3 1 6 8 2 4
    (89>> 8 2 4 1 7 5 3 6
    (90>> 8 2 5 3 1 7 4 6
    (91>> 8 3 1 6 2 5 7 4
    (92>> 8 4 1 3 6 2 7 5
       
         
         
          
          

            
          

            
          
         
       

      


    源码下载:http://file.javaxxz.com/2014/11/26/000607609.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-25 04:17 , Processed in 0.294251 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表