24 lines
446 B
Tcl
24 lines
446 B
Tcl
proc isPrime n {
|
|
if {[expr $n % 2] == 0} {
|
|
return [expr $n == 2]
|
|
}
|
|
if {[expr $n % 3] == 0} {
|
|
return [expr $n == 3]
|
|
}
|
|
for {set d 5} {[expr $d * $d] <= $n} {incr d 4} {
|
|
if {[expr $n % $d] == 0} {return 0}
|
|
incr d 2
|
|
if {[expr $n % $d] == 0} {return 0}
|
|
}
|
|
return 1
|
|
}
|
|
|
|
set LIMIT 42
|
|
|
|
for {set i $LIMIT; set n 0} {$n < $LIMIT} {incr i} {
|
|
if [isPrime $i] {
|
|
incr n
|
|
puts "n=$n, i=$i"
|
|
incr i [expr $i -1]
|
|
}
|
|
}
|