Sum digits of an integer: Difference between revisions

Sum digits of an integer in various BASIC dialents
(Sum digits of an integer in various BASIC dialents)
Line 714:
{{works with|QBasic}}
{{works with|PowerBASIC}}
{{works with|FreeBASIC}}
{{trans|Visual Basic}}
 
Line 752 ⟶ 753:
</pre>
See also: [[#BBC BASIC|BBC BASIC]], [[#Run BASIC|Run BASIC]], [[#Visual Basic|Visual Basic]]
 
 
 
==={{header|Applesoft BASIC}}===
Line 774 ⟶ 773:
180 NEXT I
190 RETURN</lang>
 
==={{header|BASIC256}}===
<lang BASIC256>function SumDigits(number, nBase)
if number < 0 then number = -number
if nBase < 2 then nBase = 2
sum = 0
while number > 0
sum += number mod nBase
number /= nBase
end while
return sum
end function
 
print "The sums of the digits are:"
print
print "1 base 10 : "; SumDigits(1, 10)
print "1234 base 10 : "; SumDigits(1234, 10)
print "fe base 16 : "; SumDigits(0xfe, 16)
print "f0e base 16 : "; SumDigits(0xf0e, 16)
end</lang>
 
==={{header|QBasic}}===
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
<lang QBasic>FUNCTION SumDigits (number, nBase)
IF number < 0 THEN number = -number
IF nBase < 2 THEN nBase = 2
sum = 0
 
DO WHILE number > 0
sum = sum + (number MOD nBase)
number = number \ nBase
LOOP
 
SumDigits = sum
END FUNCTION
 
PRINT "The sums of the digits are:"
PRINT
PRINT "1 base 10 :"; SumDigits(1, 10)
PRINT "1234 base 10 :"; SumDigits(1234, 10)
PRINT "fe base 16 :"; SumDigits(&HFE, 16)
PRINT "f0e base 16 :"; SumDigits(&HF0E, 16)
END</lang>
 
==={{header|True BASIC}}===
<lang qbasic>FUNCTION SumDigits(number, nBase)
IF number < 0 THEN LET number = -number
IF nBase < 2 THEN LET nBase = 2
LET sum = 0
 
DO WHILE number > 0
LET sum = sum + REMAINDER(number, nBase)
LET number = INT(number / nBase)
LOOP
 
LET SumDigits = sum
END FUNCTION
 
PRINT "The sums of the digits are:"
PRINT
PRINT "1 base 10 :"; SumDigits(1, 10)
PRINT "1234 base 10 :"; SumDigits(1234, 10)
PRINT "fe base 16 :"; SumDigits(254, 16) !0xfe
PRINT "f0e base 16 :"; SumDigits(3854, 16) !0xf0e
END</lang>
 
==={{header|Yabasic}}===
<lang yabasic>sub SumDigits(number, nBase)
if number < 0 then number = -number : fi
if nBase < 2 then nBase = 2 : fi
sum = 0
while number > 0
sum = sum + mod(number, nBase)
number = int(number / nBase)
wend
return sum
end sub
 
print "The sums of the digits are:\n"
print "1 base 10 : ", SumDigits(1, 10)
print "1234 base 10 : ", SumDigits(1234, 10)
print "fe base 16 : ", SumDigits(0xfe, 16)
print "f0e base 16 : ", SumDigits(0xf0e, 16)
end</lang>
 
==={{header|QuickBASIC}}===
2,130

edits