一. 1-1/2+1/3-1/4+1/5 ... +1/19的结果
//(1)1+2+3+4+...+19
//(2)1+1/2+1/3+1/4+...+1/19
//(3)1-1/2+1/3-1/4+1/5...+1/19
var sum:Double=0
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}")
二. 输入一个数,判断它是不是素数
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 不是素数")
}
三. 100米高处自由落下,着地后又弹回高度的一半再次落下,如此重复。问经过多少次落地后,小球弹起的高度才会低于0.5米
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米---")
}
四. 假设某人的年化投资回报率是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元
4.1. 第十年结束时有多少元?
def main(args: Array[String]): Unit = {
var i = 0
var money:Double = 1.8
while (i<10){
//每一年的钱 都在去年的基础上增加10% === 乘以1.1
money = money *1.1
i += 1
println(s"$i 年之后 有$money 元")
}
println(s"10年之后 总的钱变成了:$money")
}
4.2. 多少年之后能超过1000元?
def main(args: Array[String]): Unit = {
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")
}