Unprimeable numbers: Difference between revisions

Content added Content deleted
(Added C solution)
(→‎{{header|Wren}}: Now uses 'fmt' module.)
Line 1,904: Line 1,904:
=={{header|Wren}}==
=={{header|Wren}}==
{{trans|Go}}
{{trans|Go}}
{{libheader|fmt}}
<lang ecmascript>var isPrime = Fn.new { |n|
<lang ecmascript>import "/fmt" for Fmt

var isPrime = Fn.new { |n|
if (n < 2 || !n.isInteger) return false
if (n < 2 || !n.isInteger) return false
if (n%2 == 0) return n == 2
if (n%2 == 0) return n == 2
Line 1,916: Line 1,919:
}
}
return true
return true
}

var commatize = Fn.new { |n|
var s = "%(n)"
var le = s.count
var i = le - 3
while (i >= 1) {
s = s[0...i] + "," + s[i..-1]
i = i - 3
}
return s
}

var rset = Fn.new { |m, n|
var s = "%(n)"
var c = s.count
return (m > c) ? " " * (m - c) + s : s
}
}


Line 1,970: Line 1,956:
if (count <= 35) System.write("%(i) ")
if (count <= 35) System.write("%(i) ")
if (count == 35) System.write("\n\nThe 600th unprimeable number is: ")
if (count == 35) System.write("\n\nThe 600th unprimeable number is: ")
if (count == 600) System.print("%(commatize.call(i))\n")
if (count == 600) System.print("%(Fmt.dc(0, i))\n")
}
}
}
}
Line 1,977: Line 1,963:


System.print("The first unprimeable number that ends in:")
System.print("The first unprimeable number that ends in:")
for (i in 0...10) System.print(" %(i) is: %(rset.call(9, commatize.call(firstNum[i])))")</lang>
for (i in 0...10) System.print(" %(i) is: %(Fmt.dc(9, firstNum[i]))")</lang>


{{out}}
{{out}}