#!/usr/bin/perl -w

# Fracciones egipcias

# use bignum;

my $number = $ARGV[0];
die "Not a number" if ($number <=0 || $number !~ /\./ || 0+$number ne $number);

$EPS=1;
while ($EPS > 0.000_000_000_000_001){
    $EPS /=2;
}


print "+",int($number), "\n";
$resto = $number-int($number);
$sum += int($number);
# $i = 2;
while ($resto > $EPS) {
    $i = 1+int 1/$resto;     
#    print "\r+1/$i";
    if ($resto - 1/$i < 0 ) { 
#	$i++; 
    }else {
	$resto -= 1/$i;
	$sum += 1/$i;
	print "+1/$i\n";
    }
}
print "Comprobación = $sum\n";

__END__
  
Cualquier número racional puede transformarse en una suma de fracciones egipcias.

