$| = 1; my %seen = (); my @a = (); my $u = 1; my $wanted = 10_000; my $i = 0; for (my $n=1; $u<$wanted; $n++) { my $r = $n; for (my $v=$n; $r; $v++) { if (not $seen{$v} and index($v, $n)>=0) { $seen{$v} = 1; $i++; $r--; if ($v <= $wanted) { $a[$v] = $i; } } } while ($a[$u]) { print "$u $a[$u]\n"; $u++; } }