Форум » Логические выражения » просьба указать на ошибку в решении » Ответить

просьба указать на ошибку в решении

Евгений84: Друзья, добрый день! Решал задачу вручную и на листочке и разные ответы. Вручную ответ 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

cabanov.alexey: 1) Зачем вам цикл по y? 2) x берите с десятикратным запасом от A

Евгений1984: cabanov.alexey Алексей, цикл по игрик убрал. Икс увеличивал, но тогда вообще ничего не выводит. Здесь по ссылке программа с отступами. Могли подсказать, как 30 получить в качестве ответа?

Евгений1984: cabanov.alexey cabanov.alexey Алексей, цикл по игрик убрал. Икс увеличивал, но тогда вообще ничего не выводит. Здесь по ссылке программа с отступами. Могли подсказать, как 30 получить в качестве ответа? https://yadi.sk/d/f8DM4Qdi9UvWyQ


cabanov.alexey: [pre2] 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)[/pre2]



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