История изменений
Исправление X512, (текущая версия) :
Так?
MODULE A;
IMPORT Log := StdLog, In := i21sysIn;
PROCEDURE Do*;
VAR num, part: INTEGER; max: LONGINT; i: INTEGER;
BEGIN
In.Open; ASSERT(In.done);
In.Int(num); In.Int(part); ASSERT(In.done);
max := ASH(1, 4*LONG(num)) - 1;
i := 0; WHILE i < part DO
Log.IntForm(max * i DIV (part), 16, 0, "0", FALSE); Log.String(", ");
Log.IntForm(max * (i + 1) DIV (part) - 1, 16, 0, "0", FALSE);
Log.Ln;
INC(i) END;
END Do;
END A.
(!)A.Do 1 3
0, 4
5, 9
A, E
(!)A.Do 7 3
0, 5555554
5555555, AAAAAA9
AAAAAAA, FFFFFFE
Исходная версия X512, :
Так?
MODULE A;
IMPORT Log := StdLog, In := i21sysIn;
PROCEDURE Do*;
VAR num, part: INTEGER; max: LONGINT; i: INTEGER;
BEGIN
In.Open; ASSERT(In.done);
In.Int(num); In.Int(part);
max := ASH(1, 4*LONG(num)) - 1;
i := 0; WHILE i < part DO
Log.IntForm(max * i DIV (part), 16, 0, "0", FALSE); Log.String(", ");
Log.IntForm(max * (i + 1) DIV (part) - 1, 16, 0, "0", FALSE);
Log.Ln;
INC(i) END;
END Do;
END A.
(!)A.Do 1 3
0, 4
5, 9
A, E
(!)A.Do 7 3
0, 5555554
5555555, AAAAAA9
AAAAAAA, FFFFFFE