2014年蓝桥杯Java C组——猜年龄

简介: 2014年蓝桥杯Java C组——猜年龄

2014年蓝桥杯Java C组——猜年龄


标题:猜年龄

小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“ 我们俩的年龄之积是年龄之和的6倍”。

小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”

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

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

这里其实只要列出公式就能直接出结果了:

我们设妹妹的年龄为i,姐姐的年龄为j。

那么根据题意可得:

表达式1:

i<j

表达式2:

|i-j|<8

列公式:

i * j == 6 * (i + j)

公式组合:

i * j == 6 * (i + j)  and  |i - j| < 8 and i < j

由于只有一个等式:【i * j == 6 * (i + j)】,其余的两个都是不等式,那么,我们其实是无从下手的,数字简单我们可以看出来,既然小姑娘,那么年龄肯定是在16岁之内的,我们可以使用枚举的方法,其实就是纯暴力测试,我们使用i与j两个for循环来控制循环的变量,当党组组合公式的时候我们进行输出结果即可。

那么,我们组合公式需要使用一个符号来处理这个逻辑。逻辑与,也就是&&符号,使三个条件都满足,在这种满足条件下出的结果才是正确的结果。

还有需要使用Math函数的abs函数来计算绝对值。

那么,接下来我们看看编码效果:

package com.item.action;
public class Main {
  public static void main(String[] args) {// 主函数
    for (int i = 1; i < 30; i++) {
      for (int j = 1; j < 40; j++) {
        if (i * j == 6 * (i + j) && Math.abs(i - j) < 8 && i < j) {
          System.out.println(i);
        }
      }
    }
  }
}

这里我是从1-18岁计算的,其实既然是会说话的小女孩起码也应该3岁以上了,不用那么精准,能暴力出来就可以。

以下是输出结果:

由于我们要的是妹妹的年龄,故而输出10。姐姐的年龄是15岁,也就是j的值。

相关文章
|
3天前
|
Java
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
5 1
|
3天前
|
存储 前端开发 算法
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
4 0
|
3天前
|
Java
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
17 4
|
3天前
|
Java
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
10 2
|
3天前
|
Java
2022蓝桥杯大赛软件类国赛Java大学B组 左移右移 空间换时间+双指针
2022蓝桥杯大赛软件类国赛Java大学B组 左移右移 空间换时间+双指针
15 3
|
3天前
|
Java
蓝桥杯Java组暴力递归搜图
蓝桥杯Java组暴力递归搜图
13 4
|
3天前
|
Java
2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用
2023蓝桥杯大赛软件类省赛Java大学B组G题 买二增一 队列的简单应用
9 1
|
6天前
|
算法 Java 编译器
第十五届蓝桥杯Java软件开发大学B组自我经验小结
第十五届蓝桥杯Java软件开发大学B组自我经验小结
9 0
|
6天前
|
Java API
备战第十五届蓝桥杯Java软件开发大学B组常见API记录
备战第十五届蓝桥杯Java软件开发大学B组常见API记录
6 0
|
6天前
|
Java
2023蓝桥杯大赛省赛Java大学B组 矩形总面积
2023蓝桥杯大赛省赛Java大学B组 矩形总面积
8 0