百担百马+百钱百鸡+水仙花数--------“穷举”的三个练习题

 1 //百马百担类似于百鸡百钱的问题,穷举
 2         
 3         for(int dm =0;dm<=33;dm++)        //大马的数量,第一层循环
 4             
 5         {
 6             for(int zm =0;zm<=50;zm++)        //中马的数量,第二层循环
 7                 
 8             {
 9                 for(int xm = 0; xm<=200;xm++)        //小马的数量,第三层循环
10                     
11                 {
12                     if(dm+zm+xm==100&&dm*3+zm*2+xm/2.0==100)
13                     {
14                         System.out.println("大马的数量是"+dm+"\t中马的数量是"+zm+"\t小马的数量是"+xm);
15                     }
16                 }
17             }
18         }
19 
20 
21 //百钱百鸡问题
22 
23 for(int cock=0;cock<=20;cock++)        //以公鸡为第一层循环
24             
25         {
26             for(int hen =0;hen<=34;hen++)        //以母鸡为第二层的循环
27                 
28             {
29                 int chick = 100 - hen - cock;        //计算雏鸡的数量
30                 
31                 if((5*cock + 3*hen +chick/3.0)==100)        //判断是不是符合百钱的要求
32                     
33                 {
34                     //输出满足要求的三种鸡的数量
35                     System.out.println("公鸡的数量是"+cock+",母鸡的数量是"+hen+",雏鸡的数量是"+chick);
36                 }
37             }
38         }
39 
40 
41 //水仙花数,穷举所有的三位数
42         
43         for(int b = 1;b<=9;b++)        //百位数的循环
44             
45         {
46             for(int s = 0;s<=9;s++)        //十位数的循环
47                 
48             {
49                 for(int g = 0;g<=9;g++)        //个位数的循环
50                     
51                 {
52                     if (b*b*b+s*s*s+g*g*g==b*100+s*10+g)        //判断是不是满足条件
53                     {
54                         System.out.println(b*100+s*10+g);
55                         
56                     }
57                 }
58             }
View Code

三个穷举的练习题

posted @ 2016-01-07 00:27  xz小郑  阅读(255)  评论(0编辑  收藏  举报