В зависимости от количества одновременно обрабатываемых задач и числа пользователей, которых могут обслуживать ОС, различают четыре основных класса операционных систем:
1. однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;
2. однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;
3. однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;
4. многопользовательские многозадачные, позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС очень сложны и требуют значительных машинных ресурсов.
Код + скриншот (код и вывод компилятора). Строки с #... - комментарии. Если хотите, что бы показывался весь процесс работы программы - уберите только "#". Если не нужно - можете удалить строки с #... (не обязательно):
N = int(input("N = "))
fact_N = 1
for i in range(1,N+1):
fact_N *= i
#print("Factorial N = ",fact_N)
count_dividers = 0
for divider in range(1,fact_N+1):
if (fact_N % divider == 0):
count_dividers += 1
# print(count_dividers,"divider = ",divider)
print("Amount of dividers for '",N,"' - ",count_dividers)
var
i, p, n, q, sum: integer;
a : array[1..1000000] of byte;
begin
Write('Введите число N: ');
ReadLn(n);
Write('Введите основание системы счисления q: ');
ReadLn(q);
p := n;
while p > 0 do
begin
i := i + 1;
a[i] := p mod q;
sum := sum + a[i];
p := p div q;
end;
Write(n,'(10) = ');
for p := i downto 1 do
Write(a[p]);
WriteLn('(', q, ')');
WriteLn('Сумма цифр полученного числа равна ', sum);
WriteLn('Количество цифр полученного числа равна ', i);
end.
Объяснение: