Ethiopian multiplication: Difference between revisions
Content added Content deleted
(→{{header|Picat}}: Moved into subsections, added {{out}}) |
No edit summary |
||
Line 5,958: | Line 5,958: | ||
</lang>{{out}} |
</lang>{{out}} |
||
578 |
578 |
||
=={{header|Vlang}}== |
|||
{{trans|go}} |
|||
<lang vlang>fn halve(i int) int { return i/2 } |
|||
fn double(i int) int { return i*2 } |
|||
fn is_even(i int) bool { return i%2 == 0 } |
|||
fn eth_multi(ii int, jj int) int { |
|||
mut r := 0 |
|||
mut i, mut j := ii, jj |
|||
for ; i > 0; i, j = halve(i), double(j) { |
|||
if !is_even(i) { |
|||
r += j |
|||
} |
|||
} |
|||
return r |
|||
} |
|||
fn main() { |
|||
println("17 ethiopian 34 = ${eth_multi(17, 34)}") |
|||
}</lang> |
|||
{{out}} |
|||
<pre>17 ethiopian 34 = 578</pre> |
|||
=={{header|Wren}}== |
=={{header|Wren}}== |