Форум » Теория игр » Ошибка в ответе 21 №32 » Ответить

Ошибка в ответе 21 №32

vyacheslav: В ответе пишет 0, хотя одно значение S есть - 15 def f(a,b,n): if a + b >= 40 or n > 4: return n == 2 or n == 4 if n % 2 == 0: return all([f(a + 1, b, n + 1), f(a * 2, b, n + 1), f(a, b + 1, n + 1), f(a, b * 2, n + 1)]) return any([f(a + 1, b, n + 1), f(a * 2, b, n + 1), f(a, b + 1, n + 1), f(a, b * 2, n + 1)]) print(len([s for s in range(1, 31) if f(9,s,0)]), [s for s in range(1, 31) if f(9,s,0)]) Программу проверил на следующих задачах с тем же условием, всё сходилось

Ответов - 1

vyacheslav: Извиняюсь, нашёл ошибку, 15 не подходит по 2-ому условию, чтобы это проверить, мне нужно было вместо "n > 4" написать "n > 2" в третей строке. Также извиняюсь за дублирование поста и за неправильное оформление



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