蓝桥杯/第五届/猜年龄

【问题描述】 

    小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”

 

    请你写出:小明的较小的妹妹的年龄。

 

注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。

 

【问题分析】
穷举算法:对姐姐的年龄进行穷举(年龄范围可大可小,下面的程序中对姐姐的年龄从1~50进行穷举)。当姐姐的年龄确定后再对妹妹的年龄进行穷举,(从问题描述可知)妹妹的年龄比姐姐小,以此作为妹妹年龄穷举的开始,姐妹年龄相差不超过8岁,以此作为妹妹年龄穷举的结束条件,在穷举过程中对姐妹俩的年龄进行检查,看是否符合年龄之积是年龄之和的6倍。

 

 【程序代码】

 

 1 public class 蓝桥杯_第五届_猜年龄
 2 {
 3     public static void main(String[] args)
 4     {
 5         loop:for(int j=50;j>0;j--)
 6         {
 7             for(int m=j-1;j-m<=8;m--)
 8             {
 9                 if(m*j==6*(m+j))
10                 {
11                     System.out.println(m);
12                     break loop;
13                 }
14             }
15         }
16     }
17 }

 

 

 

【运行结果】
10

如果输出姐姐的年龄应该是15。

 

【类似问题】

蓝桥杯/第四届/猜年龄

posted @ 2015-03-24 11:51  #码农#  阅读(881)  评论(0编辑  收藏  举报