Hickerson series of almost integers: Difference between revisions

Added Kotlin
(Added Kotlin)
Line 1,049:
+> 130370767029135600.0000
The precision is inadequate for a definite result.
</pre>
 
=={{header|Kotlin}}==
{{trans|Java}}
<lang scala>// version 1.0.6
 
import java.math.*
 
object Hickerson {
private val ln2 = "0.693147180559945309417232121458"
 
fun almostInteger(n: Int): Boolean {
val a = BigDecimal(ln2).pow(n + 1) * BigDecimal(2)
var nn = n
var f = n.toLong()
while (--nn > 1) f *= nn
val b = BigDecimal(f).divide(a, MathContext.DECIMAL128)
val c = b.movePointRight(1).toBigInteger() % BigInteger.TEN
return c.toString().matches(Regex("0|9"))
}
}
 
fun main(args: Array<String>) {
for (n in 1..17) println("${"%2d".format(n)} is almost integer: ${Hickerson.almostInteger(n)}")
}</lang>
 
{{out}}
<pre>
1 is almost integer: true
2 is almost integer: true
3 is almost integer: true
4 is almost integer: true
5 is almost integer: true
6 is almost integer: true
7 is almost integer: true
8 is almost integer: true
9 is almost integer: true
10 is almost integer: true
11 is almost integer: true
12 is almost integer: true
13 is almost integer: true
14 is almost integer: true
15 is almost integer: true
16 is almost integer: false
17 is almost integer: false
</pre>
 
9,485

edits