program q173563;
{программа для вычисления суммы всех цифр заданного числа и суммы всех цифр всех делителей этого числа, а так же высчитывает общую сумму всех цифр этих чисел}
var a, s, s1, d, i, j: integer;
begin
s:=0;
WriteLn('Vvedite natural''noe polozhitel''noe chislo');
ReadLn(a);
WriteLn('Deliteli: ');
for i:=1 to a do
if a mod i=0 then {если остаток от деления заданного числа от текущей итерации равен нулю, то это будет делитель}
begin
Write(i,', '); {выводим через запятую делители}
j:=i;
while j>0 do {находим сумму цифр делителя}
begin
d:=j mod 10; {остаток от деления на 10 будет возвращать последнюю цифру числа}
s:=s+d; {сумма всех цифр всех делителей этого числа}
j:=j div 10; {деление нацело}
end;
end;
WriteLn('Summa vseh cifr vseh delitelei zadannogo chisla: ', s);
s1:=0;
while a>0 do {цикл нахождения суммы всех цифр заданного числа, а так же находит общую сумму всех цифр этих чисел}
begin
d:=a mod 10; {остаток от деления на 10 будет возвращать последнюю цифру заданного числа}
s1:=s1+d;{сумма всех цифр заданного числа}
a:=a div 10; {деление нацело}
end;
s:=s+s1; {общая сумма всех цифр этих чисел}
WriteLn('Summa vseh cifr zadannogo chisla: ',s1);
WriteLn('Obwaya summa vseh cifr etih chisel: ', s);
WriteLn('Dlya zaversheniya nazhmite ENTER...');
ReadLn;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.