在此程序中,您將學習查找二次方程式的所有根(取決于行列式),并在Kotlin中使用format()打印它們。
二次方程的標準形式為:
ax2 + bx + c = 0,其中a,b和c是實數(shù),a ≠ 0
該b2-4ac稱為二次方程的行列式。行列式說明了根的性質(zhì)。
如果行列式大于0,則根是實數(shù)且不同。
如果行列式等于0,則根是實數(shù)且相等。
如果行列式小于0,則根是復雜且不同的。
fun main(args: Array<String>) { val a = 2.3 val b = 4 val c = 5.6 val root1: Double val root2: Double val output: String val determinant = b * b - 4.0 * a * c //實數(shù)不同根的條件 if (determinant > 0) { root1 = (-b + Math.sqrt(determinant)) / (2 * a) root2 = (-b - Math.sqrt(determinant)) / (2 * a) output = "root1 = %.2f and root2 = %.2f".format(root1, root2) } //實等根的條件 else if (determinant == 0.0) { root2 = -b / (2 * a) root1 = root2 output = "root1 = root2 = %.2f;".format(root1) } //如果根不是實數(shù) else { val realPart = -b / (2 * a) val imaginaryPart = Math.sqrt(-determinant) / (2 * a) output = "root1 = %.2f+%.2fi and root2 = %.2f-%.2fi".format(realPart, imaginaryPart, realPart, imaginaryPart) } println(output) }
運行該程序時,輸出為:
root1 = -0.87+1.30i and root2 = -0.87-1.30i
在上述程序中,所述系數(shù)a,b和c分別被設定為2.3,4和5.6。然后,將determinant計算為b2 - 4ac。
根據(jù)行列式的值,按照上式計算根。注意,我們已經(jīng)使用庫函數(shù)Math.sqrt()來計算數(shù)字的平方根。
然后使用Kotlin的標準庫函數(shù) format() 將要打印的輸出存儲在字符串變量中。然后使用 println() 輸出打印輸出output 。
這是上述程序的等效Java代碼:用于查找四級方程所有根的Java程序