var
k, i, n: integer; //k - данное число, n - количество делителей числа k
s: real; //s - сумма делителей числа k
begin
n:= 0; //Обнуляем счетчики
s:= 0;
writeln('Введите целое число');
readln(k); //Вводим число k
for i:= 1 to k do {Проверяем какие числа от 1 до k являются делителями числа k}
if k mod i = 0 then {Если k делится без остатка на i, то прибавляем число i к сумме и прибавляем к счетчику 1}
begin
n:= n + 1;
s:= s + i;
end;
writeln('Среднее арифметическое делителей числа ', k, ' равно: ', s / n : 0 : 5); {Выводим среднее арифметическое делителей с округлением до 5 знаков после запятой}
end.
1) 145 (10 сс) - 10010001 (2 сс)
145 (10 сс) - 221 (8 сс)
145 (10 сс) - 91 (16 сс)
2) 854 (10 сс) - 1101010110 (2 сс)
854 (10 сс) - 1526 (8 сс)
854 (10 сс) - 356 (16 сс)
Объяснение:
145 (10 сс) - 10010001 (2 сс)
145 делим в столбик на 2 без остатка. 145/2=72 (145-144=1), далее 72/2=36 (72-72=0), 36/2=18 (36-36=0), 18/2=9 (18-18=0), 9/2=4 (9-8=1), 4/2=2 (4-4=0), 2/2=1 (2-2=0). Записываем в обратном порядке полученные цифры: 10010001.
145 (10 сс) - 221 (8 сс)
145 делим в столбик на 8 без остатка. 145/8=18 (145-144=1), 18/8=2 (18-16=2). Записываем в обратном порядке полученные цифры: 221
145 (10 сс) - 91 (16 сс)
145 делим в столбик на 16 без остатка. 145/16=9 (145-144=1).
Записываем в обратном порядке полученные цифры: 91