#!perl -nlw # Separate the output of cunningham.pl into 1 factor per line # # Copyright 2017 Ken Takusagawa # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or (at # your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . if(/^#/){ print; next; } if (($n,$sign,$factors)=/^(\d+)[LM]? ([+-]) \[.*\](.*)/){ @F=split for ($factors); next if @F==0; $last=pop@F; die unless ($last =~ /^\d+$/ or $last =~ /^[PC]\d+$/); #print "$n$sign $last"; for(@F){ die unless /^\d+$/; $q=1+int(log($_)/log(2)); print "$q bit $_ divides 2 ^ $n $sign 1"; } next; } die;