Shlomi Fish avatar Shlomi Fish committed d210176

Add the solution to Euler #132.

Comments (0)

Files changed (1)

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);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.