Kotlin算法:把一个整数向上取值为最接近的2的幂指数值
import kotlin.math.ln
import kotlin.math.pow
fun main(args: Array<String>) {
val number = intArrayOf(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
number.forEach {
println("$it - ${getResult(it)}")
}
}
fun getResult(num: Int): Int {
val log = ln(num.toDouble()) / ln(2.0)
val r = 2.0.pow(log.toInt().toDouble())
return r.toInt()
}
2 - 2
3 - 2
4 - 4
5 - 4
6 - 4
7 - 4
8 - 8
9 - 8
10 - 8
11 - 8
12 - 8
13 - 8
14 - 8
15 - 8
16 - 16
17 - 16
18 - 16
数学建模常用的指数变化律_指数变化法-CSDN博客文章浏览阅读2.7k次。数学建模常用的指数变化律最终,导出一个一般性的规律:指数变化律在数学建模中比较常用。另外需要注意本例中数学公式推导的过程,有一些技巧性的东西可以借鉴。_指数变化法https://blog.csdn.net/zhangphil/article/details/78971532