#! perl -slw use strict; my $NUM = $ARGV[ 0 ] || die 'No arg'; $NUM = eval $NUM if $NUM =~ m[\D]; my $root = sqrt( $NUM ); my $near = int $root; my $step = $NUM % 2 ? 2 : 1; $near-= $step while $near and $NUM % $near; $near = 1 unless $near; printf "%10.f (%10f) %.f\n", $NUM, $root, $near;