• 第七届(16年)蓝桥杯java B组决赛真题 愤怒的小鸟 解题思路


    愤怒小鸟


    X星球愤怒的小鸟喜欢撞火车!


    一根平直的铁轨上两火车间相距 1000 米
    两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。


    愤怒的小鸟从A车出发,时速50米/秒,撞向B车,
    然后返回去撞A车,再返回去撞B车,如此往复....
    两火车在相距1米处停车。


    问:这期间愤怒的小鸟撞 B 车多少次?


    注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容。

    public class one {
        static int count  = 0;
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            atb(1000);
            System.out.println(count);
        }
        public static void atb(float s) {
            //小鸟从a飞到b
            s=s-10*(s/30);
            if(s <= 1) {
                return;
            }
            else {
                count++;    //撞a的次数
                bta(s);
            }
        }
        public static void bta(float s) {
            //小鸟从b飞到a
            s=s-10*(s/30);
            if(s <= 1) {
                return;
            }
            else {
                atb(s);
            }
        }
    }
    View Code

    解题思路:小鸟在第一秒从A车飞向迎来的B车,撞上后又从B车飞向迎来的A的,直至两车间的距离相距1m,通过列出等式可以得出第一次小鸟从a到b之后的距离公式S2=s-s/3

  • 相关阅读:
    XAML实例教程系列
    XAML实例教程系列
    XAML实例教程系列
    正则表达式 修改流程 过程是崎岖的
    Codeforces Round #379 (Div. 2) 解题报告
    (DFS)codevs1004-四子连棋
    (BFS)poj2935-Basic Wall Maze
    (BFS)poj1465-Multiple
    (BFS)uva2554-Snakes & Ladders
    (BFS)hdoj2377-Bus Pass
  • 原文地址:https://www.cnblogs.com/liqiujiong/p/10542516.html
Copyright © 2020-2023  润新知