算法面試-對整形數字翻轉

package number fun main(args: Array) { println("123 reverse: ${reverseNum(123)}") println("8888 reverse: ${reverseNum(8888)}") println("54456 reverse: ${reverseNum(54456)}") println("1564654 reverse: ${reverseNum(1564654)}") } fun reverseNum(num: Int): Int { //對n與10取餘數獲取第一位 //結果 = 結果* 10 + 這個餘數 //對n整除獲取下一個值 //終止條件: n = 0 var n = num var res = 0 while (n != 0) { var last = n % 10 res = 10 * res + last n = n / 10 } return res } fun reverseNumWithMath(num: Int): Int { //對n與10取餘數獲取第一位 //結果 += 這個餘數 * 10^Math.log(n) //對n整除獲取下一個值 //終止條件: n = 0 var n = num var res = 0 while (n != 0) { var last = n % 10 var power = Math.log10(n.toDouble()).toInt() res += last * Math.pow(10.0, power.toDouble()).toInt() n = n / 10 } return res }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章