Ниже записан алгоритм. Получив ** вход число x, этот алгоритм печатает число M. Известно,...

0 голосов
61 просмотров

Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 2.

Очень подробное решение пожалуйста

var x, L, M: integer;
begin
readln(x);
L := x - 12;
M := x + 12;
while L <> M do
if L > M then
L := L - M
else
M := M – L;
writeln(M);
end.

Очень подробное решение пожалуйста


Информатика (1.0k баллов) | 61 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
106

function f(x: integer): integer;
var
    L, M: integer;
begin
    L := x - 12;
    M := x + 12;
    while L <> M do
        if L > M then
            L := L - M
        else
            M := M - L;
    f := L;
end;

begin
    var x := 100;
    var r := 0;
    repeat
        x := x + 1;
        r := f(x);
    until r = 2;
    writeln(x);
end.

(53.1k баллов)
0

решается методом подстановки