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

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

<img alt="|———————-|——————|———————-| |Pascal—————-|Python————|C +-+——————| |var s, n : integer; |s = int(input()) |#include | | | | | |begin |s = (s + 21) ∕∕ 10|using namespace std; | | readln(s); |n = 1 |int main(){ | | s := (s + 21) div 10;|while s >= 0 : | int s, n; | | | | | | n := 1; | s = s − n | cin > > s; | | while s >= 0 do | n = n ∗ 2 | s = (s + 21) ∕ 10; | | begin |print(n) | n = 1; | | n := n ∗ 2; | | while (s >= 0){ | | | | | | s := s − n; | | s = s − n; | | end; | | n = n ∗ 2; | | writeln(n) | | } | | | | | |end. | | cout < < n <

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

for i in range(1000):
    s = i
    s = (s + 21)//10
    n = 1
    while s >= 0:
        s = s - n
        n = n*2
    if n == 16:
        print(i)
        break

Получаем ответ: 49.

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