#分享 Java整數指數運算的遞迴實作

2021年5月12日 21:47
昨日版上有Java指數運算以遞迴實作的相關問題,此篇內容原欲附於其討論串下,然今日該篇文已不在哉,頗有物是人非之慨。謹撰此文以表哀悼,嗚呼! 本實作僅考量自然數的指數運算,不涵蓋負數及浮點數 1. 一般遞迴實作
imgur
2. 尾遞迴實作
imgur
尾遞迴相較於一般遞迴的計算,乃在於尾遞迴可以藉由編譯器的最佳化來避免Stack Overflow,可惜的是Java編譯器並不支援該功能,同是JVM語言的Groovy及Kotlin則具備,哀哉!Java工程師無所錯其手足矣! 3. Trampoline實作 既然Java沒有tail recursion optimization,想要避免stack overflow的話唯有trampoline一途了,可惜弟子愚魯參透未全,僅附Java的參考資料貽笑於此
4. Stream API實作
imgur
5. ECMAScript 6的exponentiation operator
imgur
偷偷使用JavaScript engine來做計算
愛心WOW
14
留言 4
文章資訊