@its_a_me_mario

Как сосчитать количество чисел в заданном интервале, чей куб оканчивается на 4 или 9?

На вход программе подаются два целых числа 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)
  • Вопрос задан
  • 3753 просмотра
Решения вопроса 1
@sand3001
Всего по немногу
Делимость на 4 или на 9 совсем не означает что число заканчивается на 4 или 9.
Берите остаток от деления на 10 и сравнивайте с 4 и 9
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
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')))
Ответ написан
@ertbn
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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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