?? wordgame.clp
字號:
;;;======================================================
;;; Number Puzzle Problem
;;;
;;; Solves the number puzzle problem in which
;;;
;;; GERALD
;;; + DONALD
;;; ------
;;; = ROBERT
;;;
;;; CLIPS Version 6.0 Example
;;;
;;; To execute, merely load, reset and run.
;;; This example takes alot of memory to execute.
;;;======================================================
(defrule startup
=>
(printout t t "The problem is" t t)
(printout t " GERALD" t)
(printout t " + DONALD" t)
(printout t " ------" t)
(printout t " = ROBERT" t t)
(assert (number 0)
(number 1)
(number 2)
(number 3)
(number 4)
(number 5)
(number 6)
(number 7)
(number 8)
(number 9)
(letter G)
(letter E)
(letter R)
(letter A)
(letter L)
(letter D)
(letter O)
(letter N)
(letter B)
(letter T)))
(defrule generate-combinations
(number ?x)
(letter ?a)
=>
(assert (combination ?a ?x)))
(defrule find-solution
(combination D ?d)
(combination T ?t&~?d)
(test (= (mod (+ ?d ?d) 10) ?t))
(combination L ?l&~?d&~?t)
(combination R ?r&~?d&~?t&~?l)
(test (= (mod (+ ?d ?d
(* 10 ?l) (* 10 ?l))
100)
(+ (* 10 ?r) ?t)))
(combination A ?a&~?d&~?t&~?l&~?r)
(combination E ?e&~?d&~?t&~?l&~?r&~?a)
(test (= (mod (+ ?d ?d
(* 10 ?l) (* 10 ?l)
(* 100 ?a) (* 100 ?a))
1000)
(+ (* 100 ?e) (* 10 ?r) ?t)))
(combination N ?n&~?d&~?t&~?l&~?r&~?a&~?e)
(combination B ?b&~?d&~?t&~?l&~?r&~?a&~?e&~?n)
(test (= (mod (+ ?d ?d
(* 10 ?l) (* 10 ?l)
(* 100 ?a) (* 100 ?a)
(* 1000 ?r) (* 1000 ?n))
10000)
(+ (* 1000 ?b) (* 100 ?e) (* 10 ?r) ?t)))
(combination O ?o&~?d&~?t&~?l&~?r&~?a&~?e&~?n&~?b)
(combination G ?g&~?d&~?t&~?l&~?r&~?a&~?e&~?n&~?b&~?o)
(test (= (+ ?d ?d
(* 10 ?l) (* 10 ?l)
(* 100 ?a) (* 100 ?a)
(* 1000 ?r) (* 1000 ?n)
(* 10000 ?e) (* 10000 ?o)
(* 100000 ?g) (* 100000 ?d))
(+ (* 100000 ?r) (* 10000 ?o) (* 1000 ?b) (* 100 ?e) (* 10 ?r) ?t)))
=>
(printout t "A Solution is:" t t)
(printout t " G = " ?g t)
(printout t " E = " ?e t)
(printout t " R = " ?r t)
(printout t " A = " ?a t)
(printout t " L = " ?l t)
(printout t " D = " ?d t)
(printout t " O = " ?o t)
(printout t " N = " ?n t)
(printout t " B = " ?b t)
(printout t " T = " ?t t)
(printout t t)
(printout t " " ?g ?e ?r ?a ?l ?d t)
(printout t " + " ?d ?o ?n ?a ?l ?d t)
(printout t " " "------" t)
(printout t " = " ?r ?o ?b ?e ?r ?t t t))
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -