Frobenius numbers: Difference between revisions

→‎{{header|Perl}}: added alternative method
(Add C)
(→‎{{header|Perl}}: added alternative method)
Line 587:
<lang perl>use strict;
use warnings;
use ntheoryfeature 'nth_primesay';
use ntheory <nth_prime primes>;
use List::MoreUtils qw(slide);
 
# build adding one term at a time
my(@F,$n);
do { ++$n and push @F, nth_prime($n) * nth_prime($n+1) - (nth_prime($n) + nth_prime($n+1)) } until $F[-1] >= 10000;
printsay "$#F matching numbers:\n" . join(' ', @F[0 .. $#F-1]) . "\n";</lang>
 
# process a list with a 2-wide sliding window
my $limit = 10_000;
say "\n" . join ' ', grep { $_ < $limit } slide { $a * $b - $a - $b } @{primes($limit)};</lang>
{{out}}
<pre>25 matching numbers:
1 7 23 59 119 191 287 395 615 839 1079 1439 1679 1931 2391 3015 3479 3959 4619 5039 5615 6395 7215 8447 9599
 
1 7 23 59 119 191 287 395 615 839 1079 1439 1679 1931 2391 3015 3479 3959 4619 5039 5615 6395 7215 8447 9599</pre>
 
2,392

edits