Как решить уравнение в pyDatalog?

Страница pyDatalog показывает, как реализовать алгоритм факториала для вычисления N! ценности. Можно ли изменить его (например, используя предикаты), чтобы решить, для которого N N! будет равна заданному значению (например, 6)?

from pyDatalog import pyDatalog
pyDatalog.create_terms('factorial, N')

factorial[N] = N*factorial[N-1] 
factorial[1] = 1
print(factorial[3]==N)  # prints N=6

Но я хотел бы спросить:

print(factorial[N]==6)  # and receive N=3

К сожалению, такой случай pyDatalog говорит:

DatalogError: Error: left hand side of comparison must be bound: >/2

0 ответов

Другие вопросы по тегам