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

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

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 150. Укажите наименьшее такое (т. е. большее 150) число x, при вводе которого алгоритм печатает 30.
var x, L, M: integer;
begin
readln(x);
L := 2*x-30;
M := 2*x+30;
while L <> M do begin
if L > M then
L := L - M
else
M := M - L;
end;
writeln(M);
end.


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

# Код на ruby 2.2.3p173
def z(x)
    l = 2 * x + 30
    m = 2 * x - 30

    while m!=l do
        if l > m
            l = l - m
        else
            m = m - l;
        end
    end

    return m
end

for x in 151..2000
    if z(x) == 30
        p x
        break
    end
end


Ответ 180

(55.0k баллов)