Shlomi Fish avatar Shlomi Fish committed 04429e0

Adapt ORIG-2 to the early behaviour for testing.

Comments (0)

Files changed (3)

project-euler/148/Test.bash

 #!/bin/bash
 n=147
 diff -u <(head -$n dump.txt | perl -lanE 'print $., ": ", y/Y/Y/') \
-    <(perl calc-num-Y-in-row.pl $(seq 1 "$n"))
+    <(perl calc-num-Y-in-row-ORIG-2.pl $(seq 1 "$n"))
 
 let n=7*7*7+1
 while true ; do
 
     echo "n=$n"
     diff -u <(perl print-row.pl "$n" | perl -lanE "print $n, ': ', y/Y/Y/") \
-        <(perl calc-num-Y-in-row.pl "$n")
+        <(perl calc-num-Y-in-row-ORIG-2.pl "$n")
     let n++
 done

project-euler/148/calc-num-Y-in-row-ORIG-2.pl

     return $recurse->($#digits);
 }
 
-my $n = 1_000_000_000;
+if (exists ($ENV{RUN}))
+{
+    my $n = 1_000_000_000;
 
-my $sum = 0;
+    my $sum = 0;
 
-for (; $n >= 6; $n--)
+    for (; $n >= 6; $n--)
+    {
+        $sum += calc_num_Y_in_row_n($n);
+
+        if ($n % 10_000 == 0)
+        {
+            print "Reached $n [Sum == $sum]\n";
+        }
+    }
+    print "Final Sum == $sum\n";
+}
+else
 {
-    $sum += calc_num_Y_in_row_n($n);
-
-    if ($n % 10_000 == 0)
+    foreach my $n (@ARGV)
     {
-        print "Reached $n [Sum == $sum]\n";
+        print "${n}: ", calc_num_Y_in_row_n($n), "\n";
     }
 }
-# foreach my $n (@ARGV)
-# {
-#     print "${n}: ", calc_num_Y_in_row_n($n), "\n";
-# }
-print "Final Sum == $sum\n";

project-euler/148/calc-num-Y-in-row.pl

         {
             my $big_Y_total = ($D[$d_len]->{power}-1-$D[$d_len-1]->{total_mod}) * $D[$d_len]->{d};
 
-            return $big_Y_total + $D[$d_len]->{d}+1 * __SUB__->($d_len-1);
+            return $big_Y_total + ($D[$d_len]->{d}+1) * __SUB__->($d_len-1);
         }
     };
 
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.