Форум » Обработка целых чисел » 2876 » Ответить

2876

grava: (№ 2876) (П.Е. Финкель) Уникальным назовём число, если у него только последние три цифры нечётные. Для интервала [64444;77563] найдите количество таких чисел, которые не делятся на 9, 13, 17, и разность максимального и минимального из них. В ответе укажите два числа: сначала количество чисел, а потом разность. [pre2] def f(x): return d[ 0] % 2 == 0 and d[ 1] % 2 == 0 and d[ 2] % 2 != 0 and d[ 3] % 2 != 0 and d[ 4] % 2 != 0 and x % 9 != 0 and x % 13 != 0 and x % 17 != 0 sas = 0 asa = 0 count = 0 for x in range(64444, 77564): d = list(map(int, str(x))) if f(x): count += 1 xMin = min(x, sas) xMax = max(x, asa) print(count, sas - asa) [/pre2] Второе число не получается. Что не так? Заранее спасибо

Ответов - 4

Поляков: Пока вы не оформите программу, сложно сказать что-то определенное. См. текст на желтом фоне вверху.

zachto: [pre2] def f(x): return d[0] % 2 == 0 and d[1] % 2 == 0 and d[2] % 2 != 0 and d[3] % 2 != 0 and d[ 4] % 2 != 0 and x % 9 != 0 and x % 13 != 0 and x % 17 != 0 sas = 1e10 asa = 0 count = 0 for x in range(64444, 77564): d = list(map(int, str(x))) if f(x): count += 1 sas = min(x, sas) asa = max(x, asa) print(count, asa - sas) [/pre2]

grava: А почему sas = 1e10?


Поляков: grava пишет: А почему sas = 1e10? Вы ищете минимум, поэтому начальное значение должно быть заведомо больше этого минимума.



полная версия страницы