在一个神话故事中,有一只小兔住在一个周长为一千米的圆形神湖旁-b

2017-05-24  本文已影响0人  hellobai

最近有一场面试中的一道题很特别,当时有点😵,冷静下来后捋清了思路,大家面试中一定不要紧张,下面记录下该题。


在一个神话故事中,有一只小兔住在一个周长为一千米的圆形神湖旁,A.B两点把这个神湖分成两部分,已知小兔从B点出发,沿逆时针方向绕神湖做跳跃运动,它每跳8分之3千米休息一次,如果跳到A点正好休息,那么就会经过特别通道AB滑倒B点,从B点继续跳。它每经过一次特别通道,神湖半径就扩大一倍,现知小兔共休息1000次,这是神湖周长是多少千米?(AB为圆的直径)
现在要求编一段简短的程序求的结果,请在下方写出伪代码:


整理答案如下:

public class hello {
    public static void main(String[] orgs) {
        /*神湖周长*/
        double c = 1000;
        /*跳跃一次的距离*/
        double jump = 375;
        /*到a点休息时跳跃的次数*/
        int j = 0;
        /*跳跃1000次*/
        for (int i = 1; i <= 1000; i++) {
            /*跳跃到c/2*/
            if (jump * (i - j) % c == c / 2) {
                /*周长加倍*/
                j = i;
                c *= 2;
            }
        }
        /*输出周长*/
        System.out.print("神湖的周长是" + c + "米");
    }
}

一些记录:
当小兔由B点跳到A点时,记录下此时跳跃的次数"i",并赋值给变量j,通过(i-j)实现其由特殊通道回到A点的效果,重新计算距离。


个人见解,不足之处,欢迎讨论!

上一篇下一篇

猜你喜欢

热点阅读