Напишите подробное решение (с прокруткой или рассуждением) укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 4, а потом 0. var x, a, b, c: integer; begin readln(x); a: = 0; b: = 0; while x > 0 do begin c: = x mod 2; if c = 0 then a: = a + 1 else b: = b + 1; x: = x div 10; end; writeln(a); writeln(b); end.
У меня получилось минимальное - 2000.
1)
c = 2000 mod 2;
c = 0 -> a = 0 + 1.
x = 2000 div 10.
2) c = 200 mod 2;
c = 0 -> a = 1 + 1.
x = 200 div 10.
3) c = 20 mod 2.
c = 0 -> a = 2 + 1.
x = 20 div 10.
4) c = 2 mod 2.
c = 0 -> a = 3 + 1.
x = 2 div 10.
Итого на выводе получаем (4 0), что и нужно было.