Inconsummate numbers in base 10: Difference between revisions
Content added Content deleted
(→{{header|Phix}}: extended to 100kth) |
SqrtNegInf (talk | contribs) (Added Perl) |
||
Line 369: | Line 369: | ||
Real time: 3.342 s CPU share: 99.16 % |
Real time: 3.342 s CPU share: 99.16 % |
||
</pre> |
|||
=={{header|Perl}}== |
|||
<syntaxhighlight lang="perl" line>use v5.36; |
|||
use List::Util <sum max>; |
|||
sub table ($c, @V) { my $t = $c * (my $w = 2 + length max @V); ( sprintf( ('%'.$w.'d')x@V, @V) ) =~ s/.{1,$t}\K/\n/gr } |
|||
my $upto = 1e6; |
|||
my @cons = (0) x $upto; |
|||
for my $i (1..$upto) { |
|||
my $r = $i / sum split '', $i; |
|||
$cons[$r] = 1 if $r eq int $r; |
|||
} |
|||
my @incons = grep { $cons[$_]==0 } 1..$#cons; |
|||
say 'First fifty inconsummate numbers (in base 10):'; |
|||
say table 10, @incons[0..49]; |
|||
say "One thousandth: " . $incons[999]; |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>First fifty inconsummate numbers (in base 10): |
|||
62 63 65 75 84 95 161 173 195 216 |
|||
261 266 272 276 326 371 372 377 381 383 |
|||
386 387 395 411 416 422 426 431 432 438 |
|||
441 443 461 466 471 476 482 483 486 488 |
|||
491 492 493 494 497 498 516 521 522 527 |
|||
One thousandth: 6996 |
|||
</pre> |
</pre> |
||