СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задание 20 № 11249

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

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = X - 30

M = X + 30

WHILE L <> M

  IF L > M THEN

    L = L – M

  ELSE

    M = M – L

  END IF

WEND

PRINT M

x = int(input())

L = x-30

M = x+30

while L != M:

    if L > M:

        L = L - M

    else:

        M = M - L

print(M)

Алгоритмический языкПаскаль

алг

нач

цел x, L, M

ввод x

L := x-30

M := x+30

нц пока L <> M

если L > M

то L := L – M

иначе M := M – L

все

кц

вывод M

кон

var x, L, M: integer;

begin

  readln(x);

  L := x-30;

  M := x+30;

  while L <> M do begin

    if L > M

      then L := L - M

      else M := M – L;

  end;

  writeln(M);

end.

Си++

#include <iostream>

using namespace std;

int main()

{

  int x, L, M;

  cin >> x;

  L = x-30;

  M = x+30;

  while (L != M) {

    if(L > M) L = L - M;

    else M = M - L;

  }

  cout « M « endl;

  return 0;

}

 

Решение.

Цикл while — ничто иное, как алгоритм Евклида, то есть он ищет наибольший общий делитель чисел M и L. В конце работы цикла M = L = НОД(M, L).

Значит, нужно найти такое наименьшее x большее 200, чтобы числа L = x − 30 и M = x + 30 имели НОД равный 60. При x = 210 L = 180 и M = 240, наибольший общий делитель равен 60. При 200 < x < 210, наибольший общий делитель L и M не может быть равен 60.

 

Ответ: 210.


Аналоги к заданию № 9770: 9806 11249 Все