-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProb47.pl
More file actions
50 lines (48 loc) · 783 Bytes
/
Prob47.pl
File metadata and controls
50 lines (48 loc) · 783 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#! usr/bin/perl
#Matthew Digman
use strict;
use warnings;
sub factorize{
my $num=shift;
my %factors;
for(my $itr=2; $itr<=sqrt $num; $itr++){
unless($num%$itr){
if(&is_prime($itr)){
$factors{$itr}=1;
}
unless($itr==1){
if(&is_prime($num/$itr)){
$factors{($num/$itr)}=1;
}
}
}
}
keys %factors;
}
sub is_prime{
my $test=shift;
if($test==2){
return 1;
}
unless($test%2){
return 0;
}
for(my $itr=3; $itr<=sqrt $test; $itr+=2){
unless($test%$itr){
return 0;
}
}
1;
}
my $count=4;
my $num;
for(my $itr=2;!defined $num;$itr++){
for(0..$count-1){
last if(factorize ($itr+$_)!=$count);
if($_==$count-1){
$num=$itr;
}
}
}
my @factors=factorize($num);
print "$num @factors";