Semiprime: Difference between revisions

Added Kotlin
(→‎{{header|Perl 6}}: Add a second, more efficient example)
(Added Kotlin)
Line 768:
<pre>julia> filter(semiprime, 1:100)
[4,6,9,10,14,15,21,22,25,26,33,34,35,38,39,46,49,51,55,57,58,62,65,69,74,77,82,85,86,87,91,93,94,95]</pre>
 
=={{header|Kotlin}}==
{{trans|Go}}
<lang scala>// version 1.1.1
 
fun isSemiPrime(n: Int): Boolean {
var nf = 0
var nn = n
for (i in 2..nn)
while (nn % i == 0) {
if (nf == 2) return false
nf++
nn /= i
}
return nf == 2
}
 
fun main(args: Array<String>) {
for (v in 1675..1680)
println("$v ${if (isSemiPrime(v)) "is" else "isn't"} semi-prime")
}</lang>
 
{{out}}
<pre>
1675 isn't semi-prime
1676 isn't semi-prime
1677 isn't semi-prime
1678 is semi-prime
1679 is semi-prime
1680 isn't semi-prime
</pre>
 
=={{header|Lua}}==
9,486

edits