Ethiopian multiplication: Difference between revisions

→‎{{header|AutoIt}}: support for negative parameters
(→‎{{header|AutoIt}}: support for negative parameters)
Line 160:
EndFunc
 
; this version also supports negative parameters
;tutor set to true writes to console
Func Ethiopian($nPlier, $nPlicand, $bTutor = True)
Local $nResult = 0
If ($nPlier < 0) Then
$nPlier =- $nPlier
$nPlicand =- $nPlicand
ElseIf ($nPlicand > 0) And ($nPlier > $nPlicand) Then
$nPlier = $nPlicand
$nPlicand = $nPlier
EndIf
If $bTutor Then _
ConsoleWrite(StringFormat("Ethiopian multiplication of %d by %d...\n", $nPlier, $nPlicand))
Local $nResult = 0
While ($nPlier >= 1)
If Not IsEven($nPlier) Then
If $bTutor Then ConsoleWrite(StringFormat("%d\t%d\tKeep\n", $nPlier, $nPlicand))
$nResult += $nPlicand
If $bTutor Then ConsoleWrite(StringFormat("%d\t%d\tKeep\n", $nPlier, $nPlicand))
Else
If $bTutor Then ConsoleWrite(StringFormat("%d\t%d\tStrike\n", $nPlier, $nPlicand))
Anonymous user