Сдвумя , заранее 1)ниже записан алгоритм. укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 2. 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. 2) ниже записана программа. получив на вход число x, эта программа печатает два числа, l и m . укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 120. var x, l, m: integer; begin readln(x); l: =0; m: =1; while x > 0 do begin l: =l+1; m: = m*(x mod 8); x: = x div 8; end; writeln(l); write(m); end.
2) В переменной L вычисляется количество цифр в числе x, следовательно искомое число трехзначное. Значение 120 можно получить как результат 4*5*6 (все сомножетели >=1 и <=7). Так как в цикле x меняется по правилу x:=x div 8, то искомое число = 654(8) = 428(10).