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


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

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

 

Бейсик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)

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

var x, L, M: integer;

begin

  readln(x);

  L := x-30;

  M := x+30;

  while L <> M do

    if L > M then

      L := L - M

    else

      M := M – L;

  writeln(M);

end.

алг

нач

  цел x, L, M

  ввод x

  L := x-30

  M := x+30

  нц пока L <> M

    если L > M

      то

      L := L – M

      иначе

      M := M – L

    все

  кц

  вывод M

кон

Си++

#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;

}

 

Решение.

В теле цикла числа M и L уменьшаются, пока не станут равными. Чтобы в итоге было напечатано 15, оба числа в какой-то момент должны быть равны 15, а разность первых двух должна быть равна 60. Пойдем от конца к началу: на предыдущем шаге одно число было 15, а другое 15 + 15 = 30. Еще на шаг раньше 30 + 15 = 45 и 30. До того 45 + 15 = 60 и 15. Далее 60 + 15 = 75 и 60. Еще ранее 75 + 60 = 135 и 75. 135 - 75 = 60. То есть наименьшее возможное число 135 - 30 = 105.

 

Ответ: 105.


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