while实训
求1 - 1/2 + 1/3 - 1/4 + ... + 1/19
object Base924 {
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}")
var sum1 = 0.0
var j = 1
while (j <= 19) {
sum1 += 1.0 / i
j += 1
}
println(s"问题1结果: 1 + 1/2 + 1/3 + ... + 1/19 = $sum1")
var sum2 = 0.0
var sign = 1
i = 1
while (i <= 19) {
sum2 += sign * (1.0 / i)
sign = -sign
i += 1
}
println(s"问题2结果: 1 - 1/2 + 1/3 - ... + 1/19 = $sum2")
}
}
判断一个数是不是素数
object Base9251 {
def main(args: Array[String]): Unit = {
var num = 121
var isPrine = true
var i = 2
while(i<= num - 1){
if(num % i == 0){
isPrine = false
println(s"${num} 能被 ${i} 整除")
}
i += 1
}
if(isPrine){
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 年结束时有多少元?
1. 多少年之后能超过 1000 元?
object Base9242 {
def main(args: Array[String]): Unit = {
var i = 0
var money = 1.0
while(money <= 1000){
money = money * 1.1
i = i+1
println(s"当第${i}年时超过1000")
}
println(i)
}
}
for循环
object Base9243 {
def main(args: Array[String]): Unit = {
for(i <-1 to 10){
println(i)
}
}
}
object Base9244 {
def main(args: Array[String]): Unit = {
var sum = 0
for( i <-1 to 100 by 2){
println(i)
sum += 1
}
println(sum)
}
}
用for循环求1 - 1/2 + 1/3 - 1/4 + ... + 1/19
object Base9245 extends App {
var total: Double = 0.0
for (i <- 1 to 19) {
if (i % 2 == 1) {
total += 1.0 / i
} else {
total -= 1.0 / i
}
}
println(f"1 - 1/2 + 1/3 - 1/4 + ... + 1/19 = $total%.6f")
}