June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,49 @@
|
|||
MODULE SumOFDigits;
|
||||
FROM STextIO IMPORT
|
||||
WriteString, WriteLn;
|
||||
FROM SWholeIO IMPORT
|
||||
WriteInt;
|
||||
FROM Conversions IMPORT
|
||||
StrBaseToLong;
|
||||
|
||||
PROCEDURE SumOfDigitBase(N: LONGCARD; Base: CARDINAL): CARDINAL;
|
||||
VAR
|
||||
Tmp, LBase: LONGCARD;
|
||||
Digit, Sum : CARDINAL;
|
||||
BEGIN
|
||||
Digit := 0;
|
||||
Sum := 0;
|
||||
LBase := Base;
|
||||
WHILE N > 0 DO
|
||||
Tmp := N / LBase;
|
||||
Digit := N - LBase * Tmp;
|
||||
N := Tmp;
|
||||
INC(Sum, Digit);
|
||||
END;
|
||||
RETURN Sum;
|
||||
END SumOfDigitBase;
|
||||
|
||||
VAR
|
||||
Num: LONGCARD;
|
||||
|
||||
BEGIN
|
||||
WriteString(' 1 sums to ');
|
||||
WriteInt(SumOfDigitBase(1, 10), 1);
|
||||
WriteLn;
|
||||
WriteString('1234 sums to ');
|
||||
WriteInt(SumOfDigitBase(1234, 10), 1);
|
||||
WriteLn;
|
||||
IF StrBaseToLong('FE', 16, Num) THEN
|
||||
WriteString(' $FE sums to ');
|
||||
WriteInt(SumOfDigitBase(Num, 16), 1);
|
||||
WriteLn;
|
||||
END;
|
||||
IF StrBaseToLong('F0E', 16, Num) THEN
|
||||
WriteString('$F0E sums to ');
|
||||
WriteInt(SumOfDigitBase(Num, 16), 1);
|
||||
WriteLn;
|
||||
END;
|
||||
WriteString('MAX(LONGCARD) (in dec) sums to ');
|
||||
WriteInt(SumOfDigitBase(MAX(LONGCARD), 10), 1);
|
||||
WriteLn;
|
||||
END SumOFDigits.
|
||||
Loading…
Add table
Add a link
Reference in a new issue