java简单算法

假设有一条绳子长3000米,每天剪去一半的长度,请问需要花费几天的时间,绳子的长度会短于5米?

我的算法:

package test;

public class TestDayNum {

 public static int dayNum = 0;
 
 public static void main(String[] args) {
  int len = 3000;
  while(len>=5){
   dayNum++;
   len = result(len);
   
  }
  System.out.println("共计"+dayNum+"天绳子会短于5米");
 }
 
 public static int result(int len){
  return len/2;
 }
}

lunzi   2007-07-07 13:19:26 评论:2   阅读:1024   引用:0
无题 @2008-11-19 14:17:44  
class Test{
private static  int days=0;

public static void main(String[] args) {
Test.changeString(3000);
}
public static void changeString(int str) {
if(str<5) {
System.out.println(days);
} else {
str=str>>1;
days++;
changeString(str);
}
}
}
这样是不是效率高点 @2007-07-09 11:12:23  haohao
public class Test {

public static int dayNum = 0;

public static void main(String[] args) {
int len = 1;
        
while (len <=600) {
dayNum++;
len = len<<1;
}

System.out.println("共计" + dayNum + "天绳子会短于5米");
}
}

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog