Jump to content

Square-free integers: Difference between revisions

→‎{{header|Kotlin}}: minor improvements
m (→‎{{header|FreeBASIC}}: changed indents)
(→‎{{header|Kotlin}}: minor improvements)
Line 596:
if (p2 > limit) break
for (i in p2..limit step 2 * p) c[i.toInt()] = true
do { p += 2 } while (truec[p.toInt()]) {
p += 2
if (!c[p.toInt()]) break
}
}
for (i in 3L3..limit step 2) {
if (!c[i.toInt()]) {
primes.add(i)
 
}
}
return primes
}
 
fun squareFree(fromr: Long, to: LongLongProgression): List<Long> {
val limitprimes = sieve(sqrt(tor.last.toDouble()).toLong())
val primes = sieve(limit)
val results = mutableListOf<Long>()
outer@ for (i in from..tor) {
for (p in primes) {
val p2 = p * p
Line 624 ⟶ 619:
}
 
const val TRILLION = 1000000000000L1000_000_000_000L
 
fun main(args: Array<String>) {
println("Square-free integers from 1 to 145:")
var sf = squareFree(1,..145L).chunked(20).forEach 145){
for (i in 0 until sf.sizeprintln() {
it.forEach { System.out.printf("%4d", sf[i]it) }
if (i > 0 && i % 20 == 0) println()
System.out.printf("%4d", sf[i])
}
 
println("\n\nSquare-free integers from $TRILLION to ${TRILLION + 145}:")
sf = squareFree(TRILLION, ..TRILLION + 145).chunked(5).forEach {
for (i in 0 until sf.sizeprintln() {
ifit.forEach { print(i" > 0 && i % 5 == 0$it") println()}
System.out.printf("%14d", sf[i])
}
 
println("\n\nNumber of square-free integers:\n")
 
System.val out.printf = fun (i: Long, j: Long) { println(" from %d$i to %d$j = %d\n", 1, 100, ${squareFree(1, 100i..j).size}") }
out(1, 100)
System.out.printf(" from %d to %d = %d\n", 1, 1000, squareFree(1, 1000).size)
out(1, 1000)
System.out.printf(" from %d to %d = %d\n", 1, 10000, squareFree(1, 10000).size)
out(1, 10_000)
System.out.printf(" from %d to %d = %d\n", 1, 100000, squareFree(1, 100000).size)
out(1, 100_000)
System.out.printf(" from %d to %d = %d\n", 1, 1000000, squareFree(1, 1000000).size)
out(1, 1000_000)
}</lang>
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.