var
a, b, x, s, p: integer;
begin
writeln(' Ввести х');
readln(x);
s := 0;
x := Abs(x); { защита от ввода отрицательных }
while x > 0 do
begin
s := s + x mod 10;
x := x div 10
end;
writeln(' Сумма цифр=', s);
end.
1.где черный квадратик поясняем еденичкой, а где квадрат белый даем пояснение виде нуля, поясняем по горизонтали)
Program pr1;
var i,b:integer; a,s:real;
begin
readln(b);
for i:=1 to b-9 do
begin
readln(a);
if (a mod 3 = 0) and (a mod 2 <> 0) then
s:=s+a;
end;
writeln(s);
end.
Входные данные: 147*(5)
И так, я предлагаю посмотреть сколько "5" удаляется за 1 раз
````````````````````````````````````````````````````````````````
<span>ПОКА нашлось (5555) ИЛИ нашлось (3333)
ЕСЛИ нашлось (5555)
ТО заменить (5555, 3)
ИНАЧЕ заменить (3333, 5)
КОНЕЦ ЕСЛИ
</span>
<span>````````````````````````````````````````````````````````````````
5555 --> 3
Уходит четыре "5".
147 / 4 = 36 (3)
36 раз у нас "5555" заменится на "3", и останется еще три "5".
Наша строка:(36*(3) + 555)
Теперь
"3333" ---> 5
36 / 4 = 9 (0)
9 раз "3333" заменим на "5", получаем
9*(5) + 555 = 12*(5)
"5555" --> 3
12 / 4 = 3(0)
3 раза "5555" заменим на "3"
333
Конец.
Ответ: 333
</span>