Анализ программ с циклом WHILE и условным оператором IF
Список вопросов теста
Вопрос 1
Ниже записана программа. Получив на вход число, эта программа печатает два числа. Укажите наибольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 7.
x = int(input())
L = 0; M = 0
while x > 0:
L = L + 1
M = M + (x % 10)
x = x // 10
print(L, M)
Вопрос 2
Ниже записана программа. Получив на вход число , эта программа печатает два числа. Укажите наибольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 8.
x = int(input())
L = 0; M = 0
while x > 0:
L = L + 1
if x % 2 == 0:
M = M + (x % 10)
x = x // 10
print(L, M)
Вопрос 3
Ниже записана программа. Получив на вход число, эта программа печатает два числа. Укажите наибольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 7.
x = int(input())
L = 0; M = 0
while x > 0:
L = L + 1
if x % 2 == 1:
M = M + (x % 10) // 2
x = x // 10
print(L, M)
Вопрос 4
Ниже записана программа. Получив на вход число, эта программа печатает два числа. Укажите наибольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 10.
x = int(input())
L = 0; M = 0
while x > 0:
L = L + 1
if (M < x) and (x % 2 == 1):
M = (x % 10) * 2
x = x // 10
print(L, M)
Вопрос 5
Ниже записана программа. Получив на вход число, эта программа печатает два числа. Укажите набольшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 24.
x = int(input())
a = 0; b = 1
while x > 0:
a = a + 1
b = b * (x % 8)
x = x // 8
print(a, b)
Вопрос 6
Ниже записана программа. Получив на вход число, эта программа печатает два числа. Укажите наименьшее из таких чисел, при вводе которых алгоритм печатает сначала 3, а потом 6.
x = int(input())
a = 0; b = 1
while x > 0:
a = a + 1
b = b * (x % 6)
x = x // 6
print (a, b)
Вопрос 7
Получив на вход число x, этот алгоритм печатает число M. Известно, что
x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 15.
x = int(input())
L = x - 30
M = x + 30
while L != M:
if L > M:
L = L - M
else:
M = M - L
print(M)
Вопрос 8
Ниже приведён алгоритм. Укажите наибольшее число, при вводе которого алгоритм напечатает сначала 8, потом – 11.
x = int(input())
Q = 16
L = 0
while x >= Q:
L = L + 1
x = x - Q
M = x
if M < L:
M = L
L = x
print(L)
print(M)
Вопрос 9
Получив на вход натуральное число x, этот алгоритм печатает два числа: a и b. Сколько существует таких чисел x, при вводе которых алгоритм печатает сначала 5, а потом 7?
x = int(input())
a = 0
while x > 0:
a = a + 1
b = x % 9
x = x // 9
print(a)
print(b)


