package Ġcom . hi . d hl . algorithms . offer ._ 1 6 . kotlin Ċ Ċ /** Ċ Ġ* Ġ< pre > Ċ Ġ* ĠĠĠĠ Ġauthor : Ġd hl Ċ Ġ* ĠĠĠĠ Ġdate Ġ Ġ: Ġ 2 0 2 0 / 7 / 2 6 Ċ Ġ* ĠĠĠĠ Ġdesc Ġ Ġ: Ċ Ġ* Ġ</ pre > Ċ Ġ*/ Ċ Ċ class ĠSolution Ġ{ ĊĠĠĠ Ġfun Ġmy Pow ( x : ĠDouble , Ġn : ĠInt ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( x Ġ== Ġ 0 . 0 ) Ġreturn Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġvar Ġx 1 Ġ= Ġx ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġvar Ġm Ġ= Ġn . to Long () ĊĠĠĠĠĠĠĠ Ġif Ġ( m Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx 1 Ġ= Ġ 1 Ġ/ Ġx 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Ġ= Ġ- 1 Ġ* Ġm ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( m Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( m Ġ% Ġ 2 ). toInt () Ġ== Ġ 1 ) Ġres Ġ= Ġres Ġ* Ġx 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx 1 Ġ= Ġx 1 Ġ* Ġx 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Ġ= Ġm Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} Ċ }