循环练习题

43 阅读1分钟

练习题1:1-1/2+1/3-1/4+1/5 ... +1/19的结果

	    /*步骤:
	     * (1) 1 + 2 + 3 + 4 + ... + 19
	     * (2)1 + 1/2 + 1/3 + ... + 1/19
	     * (3)1 - 1/2 + 1/3 - 1/4 + 1/5 ... + 1/19
	     * 
	     */
	     var sum:Double = 0 //sum = 0;sum默认是Int
	     var i = 1
	     while (i <= 19){
	         // 如果i是奇数就是+
	         if(i%2 !=0){
	            sum += 1.0 / i 
	         }else {
	         // 偶数就是-   
	            sum -= 1.0 / i
	         }
	         
	         i += 1
	     }
		println(s"sum=${sum}")

练习题2:输入一个数,判断它是不是素数

	     var num = scala.io.StdIn.readInt()
	     
	     var isPrime:Boolean = true  //假设是素数
	     
	     //从2到num-1,依次去除num,如果有一个可以整除,就说明它不是素数
	     
	     var i = 2
	     
	     while(i <= num-1){
	         //如果能整除,num%i==0,说明isPrime不是素数
	         if(num % i == 0){
	             isPrime = false  //不是素数
	         }
	         i += 1
	     }
	     if(isPrime){
	         println(s"$num 是素数")
	     } else {
	         println(s"$num 不是素数")
	     }

练习题3:100米高处自由落下,着地后又弹回高度的一半再次落下,如此重复。问经过多少次落地后,小球弹起的高度才会低于0.5米

object Main {
	def main(args: Array[String]) = {
	    
	    var i = 0 //落地的次数
	    
	    var high = 100.0 //初始为100米
	    while(high >= 0.5){
	        high = high / 2.0
	        i += 1
	        println(s"经过${i}次落地之后,小球的高度是${high}")
	    }
	        println(s"--经过${i}次落地之后,小球的高度是${high},小于0.5米的--")
	}
}

练习题4:

假设某人的年化投资回报率是10%。也就是说投入1元之后:

第一年结束时有1.1元,计算过程是:1 *(1+10%) = 1.1

第二年结束时有 1.21元,计算过程是:1.1*(1+10%) = 1.21元,

第二年结束时有1.331元,计算过程是:1.21*(1+10%) = 1.331元

1、求它第10年结束时有多少元?
object Main {
	def main(args: Array[String]) = {
	    var i = 0
	    var money:Double =1.0
	    while(i<10){
	        //每一年的钱,都在去年的基础上增加10% === 乘以1.1
	        money = money * 1.1
	        i += 1
	        println(s"$i 年之后,有$money 元")
	    }
	    
		println(s"10年之后,总的钱变成了:$money")
	}
}
2、多少年之后能超过1000元?
object Main {
	def main(args: Array[String]) = {
	    var i = 0
	    var money:Double =1.0
	    while(money<1000){
	        //每一年的钱,都在去年的基础上增加10% === 乘以1.1
	        money = money * 1.1
	        i += 1
	        println(s"$i 年之后,有$money 元")
	    }
	    
		println(s"$i 年之后,总的钱变成了:$money")
	}
}