蓝桥杯/第五届/猜年龄
【问题描述】
小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的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。
【类似问题】