2019年5月23日 星期四

Kotlin 高中程式練習題 a005: Eva 的回家作業

Kotlin 高中程式練習題 a005: Eva 的回家作業

/*
已知數列的前四項,填出第五項。➔判斷第一項與第二項的關係,
再判斷第二項及第三項的關係,最後判斷第三項及第四向的關係
➔迴圈(☆解題關鍵)

已經知道這些數列只可能是等差或等比數列 ➔後項減前項
若保持一定值(公差)則為等差數列,不保持一定值則為等比數列
➔ 判斷後項除前項(公比)➔if/else(☆解題關鍵)
*/

var a1: Double =0.0
var a2: Double =0.0
var a3: Double =0.0
var a4: Double =0.0
var a5 : Double =0.0

fun main(args: Array<String>) {
    val (a11,a12,a13,a14) = readLine()!!.split(' ')
    a1=a11.toDouble()
    a2=a12.toDouble()
    a3=a13.toDouble()
    a4=a14.toDouble()
 
    if ( (a2-a1) == (a3-a2)  && (a3-a2) == (a4-a3) )
        {
            a5 = (a4+(a4-a3))
            print("a1 a2 a3 a4 a5 = $a1 $a2 $a3 $a4 $a5")
        } 
    else  if ( (a2/a1) == (a3/a2) && (a3/a2)== (a4/a3) )
        {
            a5= a1* Math.pow( (a4/a3),4.0)
            print("a1 a2 a3 a4 a5 = $a1 $a2 $a3 $a4 $a5")
        }
    else
        println("the a5 = NaN")
}


輸出畫面
1 2 4 8
a1 a2 a3 a4 a5 = 1.0 2.0 4.0 8.0 16.0

16 8 4 2
a1 a2 a3 a4 a5 = 16.0 8.0 4.0 2.0 1.0

1 2 3 4
a1 a2 a3 a4 a5 = 1.0 2.0 3.0 4.0 5.0

10 8 6 4
a1 a2 a3 a4 a5 = 10.0 8.0 6.0 4.0 2.0

1 3 5 9
the a5 = NaN

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...