- 论坛徽章:
- 0
|
/*
* 创建日期 2007-10-16
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package com.hexin;
/**
* @author Administrator
*
* 一根象皮绳长1000米,一只蜗牛在绳子的一端,朝向另一端爬行。蜗牛每个白天爬
* 1米,晚上休息。绳子每个晚上会均匀拉长1000米。
* 假设蜗牛体力和绳子韧性都充分好,问最后蜗牛能否爬到绳子的另一端?如果可以,
* 需要爬行多少天?
*/
public class One {
int days = 0;
/**
* length = 1000;初始距离
* a = (length-move)(1+up/length) 第一天后还剩的距离
* b = (a-move)*(up/a+a)
* .
* .
* .
* x = (x-1-move)*(up/(x-1)+x-1) 最后一天还剩小于等于move米
* @param length 初始距离
* @param move 每天移动的距离
*/
public long getDays(float length,float up,float move){
move(length,up,move);
return days;
}
private void move(float length,float up,float move){
if(length <= move){
++days;
return;
}
float f = up/(length+up*days);
length = (length-move)*(1+f);
++days;
move(length,up,move);
}
public static void main(String[] args) {
One o = new One();
System.out.println(o.getDays(2,2,1));
}
} |
|