Автор | Сообщение |
|
Отправлено: 25.02.21 17:29. Заголовок: Задание 3183
(№ 3183) Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа A формула ДЕЛ(70, A) ∧ (¬ДЕЛ(x, A) → (ДЕЛ(x, 42) → ¬ДЕЛ(x, 18))) тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)? Объясните, пожалуйста, почему в ответе 14, ведь 70 на 14 без остатка не делится, значит истина в итоге не получится
|
|
|
Ответов - 5
[только новые]
|
|
|
Отправлено: 25.02.21 17:36. Заголовок: Все, спасибо, не над..
Все, спасибо, не надо, это я туплю
|
|
|
|
Отправлено: 25.02.21 18:00. Заголовок: Хотя, нет, объясните..
Хотя, нет, объясните, пожалуйста, почему ответ 14, а не 70, это же максимальный делитель. Когда я пишу программу, в ответе выдается а=70 for A in range(1,100): k = 1 for x in range(1,100): k *= (70 % A == 0) and ((x % A != 0) <= ((x % 42 == 0)<=(x%18!=0))) if k==1: print(A)
|
|
|
|
| Администратор
|
Сообщение: 2504
|
|
Отправлено: 25.02.21 20:07. Заголовок: Tekira пишет: Когда ..
Tekira пишет: цитата: | Когда я пишу программу, в ответе выдается а=70 |
|
Вы наступили на грабли. Они для тех, кто решает задачу только методом brute force. Попробуйте увеличить диапазон перебора по x до 1000.
|
|
|
|
Отправлено: 25.02.21 20:06. Заголовок: Ответ
Попробуйте вместо "for x in range(1,100):" использовать "for x in range(1,1000):" или "for x in range(1,2000):".
|
|
|
|
Отправлено: 25.02.21 20:06. Заголовок: for x in range(1,100..
for x in range(1,1000):
|
|
|
|