22:59
22 Тип 22 № 14706
записан
Ниже на пяти языках программирования
алгоритм. Получив на вход число х, этот алгоритм печатает
два числа: а и b. Укажите наибольшее из таких чисел x, при
вводе которого алгоритм печатает сначала 2, а потом 4.
DIM X, A, B AS INTEGER
INPUT X
А = 0: В = 0
WHILE X > 0
Бейсик
IF X MOD 2 = 0 THEN
A = A + 1
ELSE
WEND
PRINT A
PRINT B
B = B + X MOD 10
END IF
Укажите наибольшее из таких чисел х, при вводе которого алгоритм печатает сначала 2,а потом 4. Напишите, пожалуйста, саму программу на питоне и ответ.

x = int(input())
a=0; b=0
while x > 0:
if x%2 == 0:
a += 1
else:
b += x % 10
x = x//10
print(a, b)


n1lkas: решение нужно только второй программы

Ответы

Ответ дал: Zergloing
1

Ответ:

Ответ: 8831

Код на языке программирования Python

otv = []

for t in range(1, 100001):

   x = t

   a = 0; b = 0

   while x > 0:

       if x % 2 == 0:

           a += 1

       else:

           b += x % 10

       x = x // 10

   if a == 2 and b == 4:

       otv.append(t)

print(max(otv))

Объяснение:

Список otv будет содержать все значения t, подходящие по условию.

Переменная x меняется в процессе работы кода, а нам для ответа нужно изначальное значение x, поэтому изначальное значение сохраняем в переменной t.

В конце цикла for производим проверку, если a == 2 и b == 4, то добавляем к списку otv переменную t (т.к. по условию сначала выводится переменная a, потом b).

В конце кода выводим максимальное значение списка otv.


Zergloing: Если мой ответ вас удовлетворил, то, пожалуйста, отметьте его как "Лучший ответ".
Вас заинтересует