Solve equations with substitution method: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added translation of Raku version) |
SqrtNegInf (talk | contribs) (Added Perl) |
||
Line 36: | Line 36: | ||
@show solvetwolinear("3x + y = -1", "2x - 3y = -19") # solvetwolinear("3x + y = -1", "2x - 3y = -19") = (-2.0, 5.0) |
@show solvetwolinear("3x + y = -1", "2x - 3y = -19") # solvetwolinear("3x + y = -1", "2x - 3y = -19") = (-2.0, 5.0) |
||
</lang> |
</lang> |
||
=={{header|Perl}}== |
|||
<lang perl>use strict; |
|||
use warnings; |
|||
use feature 'say'; |
|||
sub parse { |
|||
my($e) = @_; |
|||
$e =~ s/ ([xy])/ 1$1/; |
|||
$e =~ s/[ =\+]//g; |
|||
split /[xy=]/, $e; |
|||
} |
|||
sub solve { |
|||
my($a1, $b1, $c1, $a2, $b2, $c2) = @_; |
|||
my $X = ( $b2 * $c1 - $b1 * $c2 ) |
|||
/ ( $b2 * $a1 - $b1 * $a2 ); |
|||
my $Y = ( $a1 * $X - $c1 ) / -$b1; |
|||
return $X, $Y; |
|||
} |
|||
say my $result = join ' ', solve( parse('3x + y = -1'), parse('2x - 3y = -19') );</lang> |
|||
{{out}} |
|||
<pre>-2 5</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |