java文件中
一条线,长3000米,以后每一天,变成上一天的 一半,最后变成5米了,请问,一共变了几天
这怎么写呀,

解决方案 »

  1.   

    int x=3000;
    int y=5;
    int z=0;
    while(x>=2*y){
    x=x/2;
    z=z+1;
    }
    System.out.println(z);
      

  2.   


    int length = 3000;
    int day = 0;
    while(length != 5){
       length /= 2;
       day++;
    }System.out.println(day);
      

  3.   


    public int cou(int tLen,int days){
    return tLen==5?days:cou(tLen/2,days++);
    }
    这个应该可以吧
      

  4.   


    //一条线,长3000米,以后每一天,变成上一天的 一半,最后变成5米了,请问,一共变了几天public class Test {
        public static void main(String args[]){
    int length=3000;
    int time=0;
    while(length>5){
    length=length/2;
    time++;
    System.out.println("3000米的线变成"+length+"米"+"需要的天数为:"+time); }

       }
    }实际上,这个题不可能会变成5米的,改用double类型就能看出来//一条线,长3000米,以后每一天,变成上一天的 一半,最后变成5米了,请问,一共变了几天public class Test1 {
        public static void main(String args[]){
    double length=3000;
    double time=0;
    while(length>=5){
    length=length/2;
    time++;
    System.out.println("3000米的线变成"+length+"米"+"需要的天数为:"+time); }

       }
    }
      

  5.   

    楼上说的对,应该改成int length = 3000;
    int day = 0;
    while(length > 5){
       length /= 2;
       day++;
    }
      

  6.   

    int length = 3000;
    int day = 0;
    while (true) {
    length = length / 2;
    day++;
    if (length == 5) {
    System.out.println("这么多天才得行:" + day);
    break;
    }
    if (length < 5) {
    System.out.println("没有合适天数");
    break;
    } }