计算神湖周长的面试题

在一个神话故事中,有一只小兔住在一个周长为一千米的圆形神湖旁,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);


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容