Задание 22. Анализ программы с циклами и условными операторами

Печать
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

ВАРИАНТ 1

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.

x = int(input())
a = 0
b = 0
while x > 0:
  a = a + 1
  b = b + (9 - x % 10)
  x = x // 10
print(a)
print(b)

Решение и ответ
def f(x):
    a=0
    b=0
    while x>0:
        a+=1
        b+= (9 - x%10)
        x=x//10
    return (a,b)
x=1
while f(x)!=(2,8):
    x+=1
print(x)

Ответ18

ВАРИАНТ 2

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 9.

x = int(input())
a = 0
b = 0
while x > 0:
  a = a + 1
  b = b + (9 - x % 10)
  x = x // 10
print(a)
print(b)

Решение и ответ
def f(x):
    a=0
    b=0
    while x>0:
        a+=1
        b+=(9-x%10)
        x=x//10
    return (a,b)
x=1
while f(x)!=(2,9):
    x+=1
print(x)

Ответ: 19

ВАРИАНТ 3

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 9.

x = int(input())
a = 0
b = 0
while x > 0:
  a = a + 1
  b = b + (9 - x % 10)
  x = x // 10
print(a)
print(b)

Решение и ответ
def f(x):
    a=0
    b=0
    while x>0:
        a+=1
        b+=(9-x%10)
        x=x//10
    return (a,b)
x=1
while f(x)!=(3,9):
    x+=1
print(x)


Ответ: 189

ВАРИАНТ 4

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 8.

x = int(input())
a = 0
b = 0
while x > 0:
  a = a + 1
  b = b + (9 - x % 10)
  x = x // 10
print(a)
print(b)

Решение и ответ
def f(x):
    a=0
    b=0
    while x>0:
        a+=1
        b+=(9-x%10)
        x=x//10
    return (a,b)

x=1
while f(x)!=(3,8):
    x+=1
print(x)

Ответ: 199

ВАРИАНТ 5

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.

x = int(input())
Q = 15
L = 0
while x>Q:
    L = L + 1
    x = x - Q
M = x
if M < L:
    M = L
    L = x
print(L)
print(M)

Решение и ответ
def f(x):
    Q=15
    L=0
    while x>Q:
        L+=1
        x-=Q
    M=x
    if M<L:
        M=L
        L=x
    return (L,M)
x=1

while True:
    x+=1
    if f(x)==(3,7):   
        print(x) 

Ответ: 108

ВАРИАНТ 6

Ниже записана программа. Получив на вход число x , этот алгоритм печатает два числа: L и M. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 8.

x = int(input())
Q = 15
L = 0
while x>Q:
    L = L + 1
    x = x - Q
M = x
if M < L:
    M = L
    L = x
print(L)
print(M)

Решение и ответ
def f(x):
    Q=25
    L=0
    while x>=Q:
        L+=1
        x-=Q
    M=x
    if M<L:
        M=L
        L=x
    return (L,M)
x=1
while f(x)!=(2,8):
    x+=1
print(x)     

Ответ: 58

ВАРИАНТ 7

Ниже записана программа. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 4.

x = int(input())
Q = 2
L = 0
while x>=5:
    L = L + 1
    x = x // Q
M = x
if M < L:
    M = L
    L = x
print(L)
print(M)

Решение и ответ
def f(x):
    Q=2
    L=0
    while x>=5:
        L+=1
        x=x//Q
    M=x
    if M<L:
        M=L
        L=x
    return (L,M)
x=1
while True:
    x+=1
    if f(x)==(2,4): 
        print(x)

Ответ: 47