import Ġkotlin . math . sqrt Ċ Ċ /** Ċ Ġ* ĠA Ġprogram Ġfor Ġsolving Ġquadr atic Ġequations Ċ Ġ* Ċ Ġ* Ġ@ author ĠV itas Sal v antes Ċ Ġ* Ġ@ version Ġ 1 . 0 Ċ Ġ*/ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġa : ĠDouble Ġ= Ġ 2 . 0 ĊĠĠĠ Ġval Ġb : ĠDouble Ġ= Ġ- 5 . 0 ĊĠĠĠ Ġval Ġc : ĠDouble Ġ= Ġ- 6 3 . 0 ĊĊĠĠĠ Ġval Ġanswers Ġ= Ġif Ġ( a Ġ== Ġ 1 . 0 ) Ġpq Method ( b , Ġc ) Ġelse Ġdisk ri min ant Method ( a , Ġb , Ġc ) ĊĊĠĠĠ Ġprintln (" Answer : Ġ${ answers . join ToString () }") Ċ } Ċ Ċ // Ġx ^ 2 Ġ+ Ġpx Ġ+ Ġq Ġ= Ġ 0 Ġor Ġx ^ 2 Ġ+ Ġbx Ġ+ Ġc Ġ= Ġ 0 , Ġa Ġ= Ġ 1 Ċ fun Ġpq Method ( p : ĠDouble , Ġq : ĠDouble ): ĠArray < Double > Ġ{ ĊĠĠĠ Ġval Ġx 1 Ġ= Ġ- p Ġ/ Ġ 2 Ġ+ Ġsqrt (( p Ġ/ Ġ 2 ) Ġ* Ġ( p Ġ/ Ġ 2 ) Ġ- Ġq ) ĊĠĠĠ Ġval Ġx 2 Ġ= Ġ- p Ġ/ Ġ 2 Ġ- Ġsqrt (( p Ġ/ Ġ 2 ) Ġ* Ġ( p Ġ/ Ġ 2 ) Ġ- Ġq ) ĊĠĠĠ Ġreturn ĠarrayOf ( x 1 , Ġx 2 ) Ċ } Ċ Ċ // Ġax ^ 2 Ġ+ Ġbx Ġ+ Ġc Ġ= Ġ 0 Ċ fun Ġdisk ri min ant Method ( a : ĠDouble , Ġb : ĠDouble , Ġc : ĠDouble ): ĠArray < Double > Ġ{ ĊĠĠĠ Ġval Ġdisk ri min ant Ġ= Ġb Ġ* Ġb Ġ- Ġ 4 Ġ* Ġa Ġ* Ġc ĊĠĠĠ Ġval Ġx 1 Ġ= Ġ(- b Ġ+ Ġsqrt ( disk ri min ant )) Ġ/ Ġ( 2 Ġ* Ġa ) ĊĠĠĠ Ġval Ġx 2 Ġ= Ġ(- b Ġ- Ġsqrt ( disk ri min ant )) Ġ/ Ġ( 2 Ġ* Ġa ) ĊĠĠĠ Ġreturn ĠarrayOf ( x 1 , Ġx 2 ) Ċ } Ċ