Предмет: Информатика, автор: Quiskur

Рассматривается множество целых чисел, принадлежащих отрезку [200; 9120], которые делятся на 8 и не делятся на 7, 11, 17 и 19. Найдите количество таких чисел и минимальное из них. В ответе запишите два числа через пробел: сначала количество, затем минимальное число.

Как найти меньшее число? Программа для максимального такая, работает верно. Решение только на ПИТОНЕ.

count = 0
Max1 = 0
for n in range (200, 9120+1):
if (n%8 == 0) and (n%7 != 0) and (n%11 != 0) and (n%19 != 0) and (n%17 != 0):
count += 1
Max1 = n
print (count)
print (Max1)

Ответы

Автор ответа: timkafey
1

amount = 0

minimum = 0

for i in range(200, 9121):

 if i % 8 == 0 and i % 7 != 0 and i % 11 != 0 and i % 17 != 0 and i % 19 != 0:

   amount += 1

for i in range(200, 9121):

 if i % 8 == 0 and i % 7 != 0 and i % 11 != 0 and i % 17 != 0 and i % 19 != 0:

   minimum = i

   break

print('Количество:', amount)

print('Минимальное:', minimum)


timkafey: оператор break завершает выполнение цикла
Quiskur: amount и count - одно и то же?
Quiskur: Подумал, что оператор, вопрос снят
Автор ответа: nastikots
3

Ответ:

count = 0

Min1 = 9120

for n in range (200, 9120+1):

   if (n%8 == 0) and (n%7 != 0) and (n%11 != 0) and (n%17 != 0) and (n%19 != 0):

       count += 1

       if Min1 > n:

           Min1 = n

print (count,Min1)

Объяснение:

Просто добавить условие и задать начальное значение как максимальное из отрезка


Quiskur: Задать начальное, чтобы проверка началась от большего к меньшему, а в итоге завершилась на наименьшем?
nastikots: Нет, проверка идёт также от меньшего к большему, просто условие срабатывает 1 раз
Quiskur: Понял, спасибо
Похожие вопросы
Предмет: Русский язык, автор: Ani9