我有一個關於我的任務的問題。 任務:序言自由日代碼
人們已將天分配給他們。在這些日子裏,他們可以自由工作。
卡爾是免費的鉬,週三,週四
盧卡斯是免費的星期二,星期三,星期四,星期五
喬恩是免費的鉬,星期三,薩
亞歷克斯星期四,Fr,Sa免費
Max is is免費鉬,星期三,星期五,星期六,星期日
我創建了這些假設的知識庫:
free(Karl,Mo).
free(Karl,Wed).
free(Karl,Thu).
..
..
free(Max,Su).
4個問題是問:
是人X免費日ÿ
什麼時候有哪些人員在一起。
哪些人是空閒的2/3/4天連續。
誰是免費的連續3天。
問題1很簡單。
?- free(X,Day).
無法弄清楚最後3
感謝您的幫助。
在2-4上,您需要編寫一些代碼:描述符合條件的邏輯的謂詞。你有什麼嘗試?此外,你現在的問題顯示你的事實。在Prolog中,變量以大寫字母或'_'開頭,原子以小寫字母開頭。 '免費(卡爾,莫)'有兩個變量。您可能需要用單引號('free('Karl','Mo')')或小寫,'free(karl,mo)')或混合使用('free('Karl',mo )')。 – lurker
我還建議將你的日子風格從羅嗦原子改爲整數,這樣你就不必定義那個跟隨mo的例子。 –