@its_a_me_mario

Задача с курса по Python от степик, в чём может быть ошибка?

Задача лёгкая, до этого были сложнее, но почему то здесь у меня просто не получается...
Условие:
На вход программе подаются два целых числа a и b ( a ≤ b ). Напишите программу, которая подсчитывает количество чисел в диапазоне от a до b включительно, куб которых оканчивается на 4 или 9.

a = int(input())
b = int(input())
c = 0
if b > a:
    for i in range(a, b + 1):
        if (i**3) % 4 == 0 or (i**3) % 9 == 0:
            c += 1
elif b == a:
    if (a**3) % 4 == 0 or (a**3) % 9 == 0:
        c += 1
print(c)
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
@sand3001
Всего по немногу
Делимость на 4 или на 9 совсем не означает что число заканчивается на 4 или 9.
Берите остаток от деления на 10 и сравнивайте с 4 и 9
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
adugin
@adugin
Решение "в лоб", которого достаточно для выполнения задания:
sum(1 for x in range(a, b + 1) if x ** 3 % 10 in {4, 9})

sum(1 for x in range(a, b + 1) if str(x ** 3).endswith(('4', '9')))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы