5.04 Прочие прототипы
Ошибка.
Попробуйте повторить позже
Алгоритм получает на вход натуральное число и строит по нему новое число следующим образом:
- Если исходное число кратно , оно делится на , иначе из него вычитается .
- Если полученное на предыдущем шаге число кратно , оно делится на , иначе из него вычитается .
- Если полученное на предыдущем шаге число кратно , оно делится на , иначе из него вычитается .
- Число, полученное на шаге , считается результатом работы алгоритма.
Сколько существует различных натуральных чисел , при обработке которых получится ?
Решение программой:
ans = 0 for i in range(2, 100000): s = i if s % 3 == 0: s //= 3 else: s -= 1 if s % 5 == 0: s //= 5 else: s -= 1 if s % 11 == 0: s //= 11 else: s -= 1 if s == 2: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Автомат получает на вход трехзначное число. По этому числу строится новое число по следующим правилам.
1. Из цифр, образующих десятичную запись N, строится наибольшее и наименьшее возможные двузначные числа
(числа не могут начинаться с нуля)
2. На экран выводится разность полученных двузначных чисел.
Чему равно количество чисел N в отрезке [300,700], в результате обработки которых на экране появится число 10?
c = 0 for n in range(300, 701): s = str(n) mn = 10**10 mx = -10**9 for i in range(len(s)): for j in range(i+1, len(s)): if s[i] != ’0’: mx = max(int(s[i]+s[j]), mx) mn = min(int(s[i]+s[j]), mn) if s[j] != ’0’: mx = max(int(s[j]+s[i]), mx) mn = min(int(s[j]+s[i]), mn) if mx-mn == 10: c += 1 print(c)