Just for info, I did the same course. Didn't googled for a solution. I've come with that solution.
Now I'm googling it just to see how other perl user are solving that easy problem :-) and what I see is quite interesting (especially this things with regex!!)
It might not be the speediest, but still it might be of some interest to some people!
perl -le '$_=2;while($ARGV[0]-1){if(!($ARGV[0]%$_)){print$_ ;$ARGV[0]/
+=$_;}else{$_++}}' $1
or in a non-one-liner form:
$_=2;
while ($ARGV[0]-1) {
if (!($ARGV[0]%$_)) {
print $_ ;
$ARGV[0]/=$_;
} else {
$_++
}
}
Sincerely yours,
Alessandro