х=7690 - условие
var x, L, M: integer;
begin readln(x);
L:=0;
M:=0;
while x > 0 do begin
1) L:= L + 1 = 1;
M:= M + x mod 10 = 0;
x:= x div 10 = 7 69;
2) L:= L + 1 = 2;
M:= M + x mod 10 = 9;
x:= x div 10 = 7 6;
3) L:= L + 1 = 3;
M:= M + x mod 10 = 15;
x:= x div 10 = 7 ;
4) L:= L + 1 = 4;
M:= M + x mod 10 = 22;
x:= x div 10 = 0;
end;
writeln(L);
write(M);
end.
L = 4; M = 22
Объяснение:
1)L:= L + 1 = 0 + 1 = 1;
M:= M + x mod 10 = 0 + 0 (остаток) = 0;
x:= x div 10 = 7690 : 10 = 769 (остаток 0 здесь не пишется);
2)L:= L + 1 = 1 + 1 = 2;
M:= M + x mod 10 = 0 + 9 (остаток) = 9;
x:= x div 10 = 769 : 10 = 76 (остаток 9 здесь не пишется);
3)L:= L + 1 = 2 + 1 = 3;
M:= M + x mod 10 = 9 + 6 (остаток) = 15;
x:= x div 10 = 76 : 10 = 7 (остаток 6 здесь не пишется);
4)L:= L + 1 = 3 + 1 = 4;
M:= M + x mod 10 = 15 + 7 (остаток) = 22;
x:= x div 10 = 7 : 10 = 0 (остаток 7 здесь не пишется);
10
Объяснение:
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.
307 из восьмеричной в десятичную =199
на будущее на компьютере в калькуляторе есть функция перевода систем счисления