## Lucky numbers

Arjen Markus (16 april 2018) Lucky numbers are akin to prime numbers in that they are constructed via a sieve process too. They even have statistically similar properties. See this page on Mathworld for instance. The process is simple enough:

`      1, 3, 5, 7, 9, 11, 13, 15, 17, 19, ...`
• Then, the second number in that list is 3, so remove every third number:
`      1, 3, 7, 9, 13, 15, 19, ...`
• Then, the third number is 7, so remove every seventh number:
`      1, 3, 7, 9, 13, 15, ...`
• And so on.

Thanks to the [lmap] command, the implementation in Tcl is also simple:

```set numbers {}
for {set i 1} {\$i < 1000} {incr i 2} {
lappend numbers \$i
}

#
# Loop over the remaining elements in the list:
# Filter out the nth element each time - a simple job for [lmap]
#
for {set k 1} {\$k < [llength \$numbers]} {incr k} {
set step [lindex \$numbers \$k]

set i 0
set numbers [lmap v \$numbers {
incr i
if {\$i % \$step} {
set v
} else {
continue
}
}]
}

puts \$numbers```

 Category Mathematics