mmctriitsk
?>

Ниже записана программа. получив на вход число , эта программа печатает два числа, l и m .укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0. var x, l, m: integer; begin readln(x); l: =0; m: =0; while x > 0 do begin l: = l + 1; if x mod 2 = 0 then m: = m + x mod 10; x: = x div 10; end; writeln(l); write(m); end

Информатика

Ответы

zu87zu87
Оператор div отрезает последнюю цифру числа, а mod считает остаток от деления на 2. Если он равен нулю, то выполняется действие M:= M + x mod 10.
Сначала выводится переменная L, в ней содержится счетчик, который считает, сколько раз оператор div отрежет цифру. Отсюда следует, что число должно быть трехзначным. В нашем случае ответом будет число 999, потому что div отрежет последнюю цифру три раза, а условие if x mod 2 = 0 then не будет выполнятся, потому что  остаток от деления на 2 числа 999 не равен нулю, программа выведет 0.
ответ: 999
ur101679

uses drawman;

Procedure w;

Begin

PenDown;

OnVector (0,-7);

OnVector (2,0);

OnVector (0,7);

PenUp;

OnVector (0,-7) ;

PenDown;

OnVector (2,0);

OnVector (0,7);

PenUp;

end;

procedure T;

Begin

PenDown;

OnVector (0,7);

OnVector (-2,0);

OnVector(4,0); penUp;

end;

procedure O;

Begin

PenDown;

OnVector (4,0);

OnVector (0,7);

OnVector (-4,0);

OnVector (0,-7);

PenUp;

end;

procedure R;

PenDown;

OnVector (0,7);

OnVector (4,0);

OnVector (0,-4);

OnVector (-4,0);

PenUp;

end;

procedure A;

begin

PenDown;

OnVector (2,7);

OnVector (2,-7);

PenUp;

OnVector (-3,3);

PenDown;

OnVector (2,0);

PenUp;

end;

begin

Field (32,10);

ToPoint (3,7); w;

OnVector (4,-7); T;

OnVector (2,-7); O;

OnVector (6,0); R;

OnVector (5,-3); A;

end.

Вроде работает

Morozova-Starikov

826178 827557

865748 867498

280514 283175

199991 200002

304502 306027

Объяснение:

Задачка интересная смог решить только методом перебора

(Закономерностей не выявил)

состряпал функцию для Excel

Function Sleft(s As Variant) 'для левых счастливых чисел

For i = 1 To s

   s = s - i

   ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))

   rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))

   If ls = rs Then Exit For

Next

Sleft = s

End Function

Function SRight(s As Variant) 'для правых счастливых чисел

For i = 1 To s

   s = s + i

   ls = CInt(Mid(s, 1, 1)) + CInt(Mid(s, 2, 1)) + CInt(Mid(s, 3, 1))

   rs = CInt(Mid(s, 4, 1)) + CInt(Mid(s, 5, 1)) + CInt(Mid(s, 6, 1))

   If ls = rs Then Exit For

Next

SRight = s

End Function

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Ниже записана программа. получив на вход число , эта программа печатает два числа, l и m .укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0. var x, l, m: integer; begin readln(x); l: =0; m: =0; while x > 0 do begin l: = l + 1; if x mod 2 = 0 then m: = m + x mod 10; x: = x div 10; end; writeln(l); write(m); end
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yakovlevasvetlanalvovna209
Galkin Vladimirovich729
strager338
rinata542
whiskyandcola
anna241273
sn009
sakalrip
Irina
Хохлов
sbraginets
r682dm2011
annashaykhattarova1
Linichuk
Михаил1121
▲