pyDatalog page显示了如何实现析因算法来计算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