#!/usr/bin/perl ########################################### # race - Fox chasing a Rabbit # Mike Schilli, 2004 (m@perlmeister.com) ########################################### use warnings; use strict; use Math::Algebra::Symbols; my ($t) = symbols(qw(t)); my $rabbit = 10 + 5 * $t; my $fox = 7 / 2 * $t * $t; my $schnapp = ($rabbit - $fox); for my $solution (@{$schnapp->solve("t")}) { print "Solution: $solution\n"; my $val = eval $solution; if($val < 0) { print "Discarded\n"; next; } else { printf "%.2f seconds\n", $val; $t = $val; printf "%.2f meters\n", eval $fox; } }