Задача к ЕГЭ по информатике на тему «анализ простейших программ (старое)» №1

Определите, при каком наибольшем введённом значении переменной s  программа выведет число   2560.  Для Вашего удобства программа представлена на трёх языках программирования.

------------------------------------------------------------------------ | Python           |C  + +                   |P ascal                  | |------------------|-------------------------|-------------------------| | s =  int (input ()) |#include   < iostream  > |var s, n : integer;       | | n =  5           |using namespace   std;   |begin                    | | while s >  23 :  |int main () {            |   readln (s );            | |   s =  s −  5    |   int s, n  =  5;        |   n :=  5;              | |   n =  n  ∗ 2    |   cin  > > s;            |   while s >  23 do begin| |                  |                         |                         | | print ( n )       |   while( s >  23 ) {    |     s :=  s − 5;        | |                  |     s =  s −  5;        |     n :=  n ∗ 2         | |                  |     n =  n  ∗ 2;        |   end;                  | |                  |   }                     |   writeln(n);           | |                  |   cout < <  n;          |end.                     | |                  |                         |                         | |                  |}                        |                         | ------------------------------------------------------------------------

Решение руками:

Конечное значение переменной n  равно 2560,  начальное — 5.  Составим уравнение: 5 ⋅ 2x = 2560  (x  — количество итераций)

x = 9

Цикл завершится тогда, когда s  станет меньше либо равно 23.  Составим неравенство: s − 5x ≤  23

Так как x = 9,  то s ≤ 68

s = 68

 

Решение программой:

for i in range(1000, 1, -1):
    s = i
    n = 5
    while s > 23:
        s -= 5
        n *= 2
    if n == 2560:
        print(i)
        break

Ответ: 68
Оцените статью
Я решу все!