Я не могу загрузить файлы, но вот коды. Создай файлы и вставь
repeat_.pas:
program repeat_;
var n, k, counter: Integer;
begin
ReadLn(n);
k := 1;
counter := 0;
repeat
if (n mod k = 0) then
begin
counter += 1;
if n <> k then
Write(k, ' ')
else
Write(k, '; ');
end;
k += 1;
until n < k;
WriteLn('всего делителей - ', counter);
end.
while_.pas:
program while_;
var n, k, counter: Integer;
begin
ReadLn(n);
k := 1;
counter := 0;
while (k <= n) do
begin
if (n mod k = 0) then
begin
counter += 1;
if n <> k then
Write(k, ' ')
else
Write(k, '; ');
end;
k += 1;
end;
WriteLn('всего делителей - ', counter);
end.
-32768 .. 32768 (кроме 0)
Объяснение:
16 битами можно закодировать
различных значений.
По условию кодируются положительные и отрицательные числа в равном количестве, так что и тех и других половина, по 65536 : 2 = 32768 чисел.
Получается диапазон -32768 .. 32768, из которого убрали нуль.
Обычно всё же ноль в представлениях целых чисел есть. Если использовать прямой код для записи чисел, то получится как раз одинаковое количество положительных и отрицательных чисел, но два нуля (положительный и отрицательный). Для этого случая диапазон будет -32767..32767.