11
Июн
2021

Проблема с циклом в Python

введите сюда описание изображенияВсем привет. Решаю задачки из ЕГЭ по Питону, попалась вот такая:

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

И дан код программы:

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

Пытаюсь решить перебором:

a = 0
b = 1
for x in range(1, 10001):
    while x > 0:
        if x%2 > 0:
            a += x%8
        else:
            b = b * (x%8)
    if (a == 2 and b == 12):
            print(x)
    x = x//8

В итоге программа как будто не отрабатывает, но VS Code никаких ошибок не выдает. Есть подозрение на бесконечный цикл, но не могу понять, что не так с кодом. Подскажите пожалуйста, заранее спасибо.

Источник: https://ru.stackoverflow.com/questions/1294268/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D1%81-%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BC-%D0%B2-python

Тебе может это понравится...

Добавить комментарий