java算法题——龟兔赛跑

Python013

java算法题——龟兔赛跑,第1张

public class Test1{

public static void main(String[] args) throws InterruptedException {

   int v1=25,v2=10,t=20,s=3,l=100

          

          

         Scanner scanner=new Scanner(System.in)

           

         v1=scanner.nextInt()    

          v2=scanner.nextInt()

         t=scanner.nextInt()

         s=scanner.nextInt()

         l=scanner.nextInt()

          

         int sum1=0,sum2=0

         boolean stop=false

         int stopcount=0

         int i=0

         for ( i = 0 i < l/v2 i++) {

             

          

          if(sum1>=l||sum2>=l)//如果有一个跑到了终点就结束了

          break

          

             if(stopcount==s)

                 stop=false //如果休息的时间够了,就开始跑

              

              

             if(sum1-sum2>=t)

                 stop=true //如果超过了t米,就休息

              

              

             if(!stop)

                sum1+=v1 //当兔子不休息的时候跑

             else

                 stopcount++ //休息的时间计数

              

             sum2+=v2//乌龟每次都会跑

              

              

             System.out.print("兔子跑了:"+sum1+"米")

             System.out.println("乌龟跑了:"+sum2+"米")

        }

         if(sum1==sum2)

             System.out.println("D"+i)

         else if(sum1>=l)

             System.out.println("R"+i)

         else if(sum2>=l)

             System.out.println("T"+i)

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int a = 0, b = 0

int second = 0

do {

int number = new Random().nextInt(10) + 1// 产生1-10随机数

// 如果随机数小于等于8,则表示80%的概率

if (number <= 8) {

a = a + 2

}

// 如果随机数小于等于5,则表示50%的概率

if (number <= 5) {

b = b + 4

}

second++

System.out.println("第" + second + "秒:乌龟跑了" + a + ",兔子跑了" + b)

} while (a < 100 && b < 100)

}

不懂地方可以追问。