मान लें मैं एक नंबर एक्स है और मैं समीकरणों के सिस्टम को हल करना चाहते हैं, वाई + Z = एक्स, जेड * वाई = 1.Prolog
समाधान अब, यह है कहते हैं कि वाई = 1/जेड और जेड = (वर्ग (एक्स * एक्स -4) + एक्स)/2 या (एक्स- (वर्ग (एक्स * एक्स -4)))/2।
तो मैं Prolog में लिख सकते हैं:
solve(X,Y,Z):- Y is (sqrt(X*X-4)+X)/2, Z is 1/Y.
solve(X,Y,Z):- Y is (X-(sqrt(X*X-4)))/2,Z is 1/Y.
यह काम करता है।
लेकिन
यह मेरे हिस्से से प्रारंभिक काम का एक बहुत आवश्यकता है, अनिवार्य रूप से यह पहले से सुलझाने और बस Prolog पूछ जवाब का मूल्यांकन करने के।
क्या कोई तरीका है कि मैं ज़ेड और वाई प्राप्त कर सकता हूं, एक्स को पहले बिना हल किए?
मैं नहीं की तरह
solve(X,Y,Z):- X is Y+Z, Z is 1/Y.
इन्स्टेन्शियशन त्रुटि के कारण
सामान लिख सकते हैं।
http://stackoverflow.com/questions/13690136/im-curious-if-logical-program-can-do-algebra –