Frobenius numbers: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add C) |
SqrtNegInf (talk | contribs) (→{{header|Perl}}: added alternative method) |
||
Line 587: | Line 587: | ||
<lang perl>use strict; |
<lang perl>use strict; |
||
use warnings; |
use warnings; |
||
use |
use feature 'say'; |
||
use ntheory <nth_prime primes>; |
|||
use List::MoreUtils qw(slide); |
|||
# build adding one term at a time |
|||
my(@F,$n); |
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; |
do { ++$n and push @F, nth_prime($n) * nth_prime($n+1) - (nth_prime($n) + nth_prime($n+1)) } until $F[-1] >= 10000; |
||
say "$#F matching numbers:\n" . join(' ', @F[0 .. $#F-1]); |
|||
# 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}} |
{{out}} |
||
<pre>25 matching numbers: |
<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> |
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> |
||