June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -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.