Ethiopian multiplication: Difference between revisions

no edit summary
(added secondary J implementation.)
No edit summary
Line 382:
{
my ($plier, $plicand, $tutor) = @_;
print "ethiopic multiplication of $plier and $plicand\n" if ($tutor);
my $r = 0;
while ($plier >= 1)
{
$r += $plicand ifunless (!iseven($plier));
if ($tutor) {
print "$plier, $plicand " ., (iseven($plier) ? " struck" : " kept") ., "\n";
}
$plier = halve($plier);
Line 396:
}
 
print ethiopicmult(17,34, 1) ., "\n";</lang>
 
=={{header|PHP}}==
Line 417:
function ethiopicmult($plier, $plicand, $tutor)
{
if ($tutor) { echo "ethiopic multiplication of $plier and $plicand\n"; }
$r = 0;
while($plier >= 1) {
if ( !iseven($plier) ) { $r += $plicand; }
if ($tutor) {
echo "$plier, $plicand " ., (iseven($plier) ? "struck" : "kept") ., "\n";
}
$plier = halve($plier);
$plicand = double($plicand);
Line 430 ⟶ 429:
}
 
echo ethiopicmult(17, 34, true) ., "\n";
 
?></lang>
Anonymous user