求1 - 1/2 + 1/3 - 1/4 + 1/5......+ 1/19的值
object Main {
def main(args: Array[String]) = {
/**
* 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/5 ... + 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}")
}
}
判断一个数num是不是素数
object Main {
def main(args: Array[String]) = {
/**
*
* 判断一个数是不是素数
*
*/
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 不是素数")
}
}
}
求小球落地多少次落地
小球从100米高处自由落下,着地后又弹回高度的一半,再次落下,如此重复。问经过几次落地后,小球弹起的高度才会低于0.5米
object Main {
def main(args: Array[String]) = {
/**
*
* 小球从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元
- 编写程序:
- 1.求它第10年结束时有多少元?
- 2.多少年之后能超过1000元?
def main(args: Array[String]) = {
var i = 0
var money = 1.0
while(i<10){
//每一年的钱,都在去年的基础上增加10% ==== 乘以1.1
money = money * 1.1
i += 1
println(s"$i 年之后,有$money 元")
}
println(s"i$i 年之后,总的钱变成了:$money 元")
while(money<1000){
//每一年的钱,都在去年的基础上增加10% ==== 乘以1.1
money = money * 1.1
i += 1
println(s"$i 年之后,有$money 元")
}
println(s"i$i 年之后,总的钱变成了:$money 元")
}
//本金:1.0元 =====1.家庭背景
//时间:多少年 =====2.年龄
//年化回报率:10% =====3.能力
//本金1 ---- 10% ---- 73年 ---- 1000
//本金3 ---- 10% ---- 61年 ---- 1000
//本金10 ---- 10% ---- 49年 ---- 1000
//本金1 ---- 10% ---- 73年 ---- 1000
//本金1 ---- 20% ---- 26年 ---- 1000
//本金1 ---- 30% ---- 18年 ---- 1000
//本金1 ---- 100% ---- 7年 ---- 1000
}