Commits

Shlomi Fish  committed d210176

Add the solution to Euler #132.

  • Participants
  • Parent commits 880bed8

Comments (0)

Files changed (1)

File project-euler/132/132-3.pl

+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+=head1 DESCRIPTION
+
+A number consisting entirely of ones is called a repunit. We shall define R(k) to be a repunit of length k.
+
+For example, R(10) = 1111111111 = 11×41×271×9091, and the sum of these prime factors is 9414.
+
+Find the sum of the first forty prime factors of R(109).
+
+=cut
+
+sub calc_A
+{
+    my ($n) = @_;
+
+    my $mod = 1;
+    my $len = 1;
+
+    while ($mod)
+    {
+        $mod = (($mod * 10 + 1) % $n);
+        $len++;
+    }
+
+    return $len;
+}
+
+open my $primes_fh, "primes 7|";
+my $last_prime = 
+
+my $count = 0;
+my $sum = 0;
+
+while ($count < 40)
+{
+    my $n = int(scalar(<$primes_fh>));
+    {
+        my $A = calc_A($n);
+        if (1_000_000_000 % $A == 0)
+        {
+            $count++;
+            $sum += $n;
+            print "Found $n ; Sum = $sum ; Count = $count\n";
+        }
+    }
+}
+
+close($primes_fh);