Автор | Сообщение |
|
Отправлено: 29.05.21 14:20. Заголовок: просьба указать на ошибку в решении
Друзья, добрый день! Решал задачу вручную и на листочке и разные ответы. Вручную ответ 30. Программированием 31 получается. Подскажите пожалуйста, где ошибка в коде? Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа A формула (A < 50) /\ (¬ДЕЛ(x, A) → (ДЕЛ(x, 10) → ¬ДЕЛ(x, 12))) тождественно истинна, т. е. принимает значение 1 при любом натуральном x? Сначала решим задачу программным способом. for A in range(1, 400): flag = 0 for x in range(1, 300): for y in range(1, 300): if (A < 50 and (not (x % A) <= (x % 10)<= (not (x % 12)))) == False: flag = 1 break if flag == 1: break
|
|
|
Ответов - 4
[только новые]
|
|
|
Отправлено: 29.05.21 21:57. Заголовок: 1) Зачем вам цикл по..
1) Зачем вам цикл по y? 2) x берите с десятикратным запасом от A
|
|
|
|
Отправлено: 30.05.21 11:09. Заголовок: cabanov.alexey Алек..
cabanov.alexey Алексей, цикл по игрик убрал. Икс увеличивал, но тогда вообще ничего не выводит. Здесь по ссылке программа с отступами. Могли подсказать, как 30 получить в качестве ответа?
|
|
|
|
Отправлено: 30.05.21 11:10. Заголовок: cabanov.alexey caban..
cabanov.alexey cabanov.alexey Алексей, цикл по игрик убрал. Икс увеличивал, но тогда вообще ничего не выводит. Здесь по ссылке программа с отступами. Могли подсказать, как 30 получить в качестве ответа? https://yadi.sk/d/f8DM4Qdi9UvWyQ
|
|
|
|
Отправлено: 30.05.21 18:10. Заголовок: for a in range(1, 4..
for a in range(1, 400): flag = 0 for x in range(1, 4000): f = (a < 50) and ((x % a!=0) <= ((x % 10==0)<= (x % 12!=0))) if f==0: flag = 1 break if flag==0: print(a)
|
|
|
|