计算神湖周长的面试题

2017-08-25  本文已影响0人  hu_hy

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

现在要求编写程序求结果:

NSInteger C = 1000;  //  周长 初始值为 1000,单位:m

NSInteger b = 0;        //  用于记录上次到达A点跳的次数

for (int a = 1; a <= 1000; a++) {

if ((a-b)*375%(C/2) == 0) {

//            if (a*375%C==C/2) {

C = 2*C;  // 周长翻倍

b = a;

}

}

NSLog(@"神湖的周长是 %ld 米",C);

我是这么写的,不知道有简便方法不?请各位看官不吝赐教

上一篇 下一篇

猜你喜欢

热点阅读