Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/perl
- use warnings;
- ################################################################
- # S = (n+1)^100 + (n+2)^100 + (n+3)^100 + ... + (n+k)^100
- # S mod 125 ? 0 ; n,k egész 1 < k < 156
- ################################################################
- my $StopFirstFind = 1;
- my ($from, $to) = (2, 155); # mettol meddig menjen k
- my ($x, $sum);
- my ($min, $max);
- ALL: foreach my $shift (($from - 1) .. ($to - $from)) {
- my @array = ();
- foreach my $n ($from .. $to) {
- my $m = $n + $shift;
- last if $m > $to;
- if (@array) {
- $max = $m if $m > $max;
- $min = $m if $m < $min;
- } else {
- $min = $max = $m;
- }
- # 1 # % 1000 is enough 'cause of %125
- # 2 # perl punctionality is within 16-17 numbers
- # # 1000 ** 5 == e15, so it must be right
- $x = (($m ** 5 % 1000) ** 5 % 1000) ** 4 % 1000;
- push(@array, $x);
- $sum = 0;
- map {$sum += ($_ % 1000); } @array;
- printf("%3d,%3d %5d %3d %3d\n", $min, $max, $sum ,$sum % 1000, $sum % 125);
- if (0 == $sum % 125) {
- print "Haha! i got you!\n\n";
- unless (($min % 5 == 0) && ($max == $min)) {
- sleep(4);
- last ALL if $StopFirstFind;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment