求数列的和
求s= 1 - 1/2 + 1/3 - 1/4 + 1/5 .... +1/19的值
// 1 + 2 + 3 + 4...... + 19 = 190
object Sc16 {
def main(args: Array[String]): Unit = {
var i = 1
var sum = 0
while(i <= 19) {
println(i)
sum += i
i = i + 1
}
println(s"${sum}")
}
}
判断是否素数
1.只能被1和它本身整除的数是素数。2 3 5 7 11 13 17 19...
2.可以从2开始到n-1为止,依次去除这个数n,如果能被除,就不是素数。
3.设置一个变量,初始值为true,表示它是一个素数,在循环内部,如果有整除的情况,就把它设置为false。
4.循环结束之后,检查变量的值,看看是不是素数
object Sc17 {
def main(args: Array[String]): Unit = {
var num = 11
var isPrime = true
var i = 2
while (i <= num - 1) {
if (num % i == 0) {
isPrime = false
println(s"${num} 能被${i}整除")
}
i += 1
}
if (isPrime) {
println(s"${num}是素数")
} else {
println(s"${num}不是素数")
}
}
}
复利公式
假设某人的年化投资回报率是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 Sc18 {
def main(args: Array[String]): Unit = {
var i =0
var money = 1.0
while(i < 10){
money = money * 1.1
i = i + 1
println(s"第${i}年结束时,钱数为${money}")
}
}
}
2、多少年之后能超过1000元?
object Sc19 {
def main(args: Array[String]): Unit = {
var i = 1.0
val rate = 1.1
var n = 0
while (i <= 1000) {
i *= rate
n += 1
}
println(s"超过1000元需要 $n 年")
}
}