RosettaCodeData/Task/Ethiopian-multiplication/Yabasic/ethiopian-multiplication.basic
2026-02-01 16:33:20 -08:00

30 lines
367 B
Text

outP = 0
x = 17
y = 34
do
print x, chr$(09);
if not (isEven(x)) then
outP = outP + y
print y
else
print
fi
if x < 2 break
x = half(x)
y = doub(y)
loop
print "=", chr$(09), outP
end
sub doub (a)
return a * 2
end sub
sub half (a)
return int(a / 2)
end sub
sub isEven (a)
return mod(a, 2) - 1
end sub