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
阅读:491
引用: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);
}
}
}
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米");
}
}
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米");
}
}
