我參加了一門編程課程,教授只是因爲時間不夠而輕率地瀏覽Prolog。無論如何,他建議我們自己研究一下。我遇到了一個應該計算的密碼算法程序? AM + PM = DAY。我不知道應該在SWI解釋器中添加什麼作爲輸入,以及應該如何接收正確的輸出......如果這有什麼意義?Prolog密碼算法程序
我想...
solve([AM],[PM],[DAY]).
,什麼也不做。對於AM + PM = DAY或類似的東西,正確的輸入將會很棒!這是我與播放節目...
solve([A,M,P,D,Y]):-
select(A,[0,1,2,3,4,5,6,7,8,9],WA), % W means Without
not(A=0),
select(M,WA,WMA),
select(P,WMA,WMAP),
not(P=0),
select(D,WMAP,WMAPD),
not(D=0),
select(Y,WMAPD,WMAPDY),
DAY is 100*D+10*A+Y,
AM is 10*A+M,
PM is 10*P+M,
DAY is AM+PM.
請記住,我們只有兩個班的Prolog的,所以我旁邊知道什麼!
斯科特
嘗試'solve(X)',它給出了在長度爲5的列表中的A',M',P,D和Y的可能結果。 – 2014-12-07 00:39:35
Ok ....所以給了我這個X = [2,5,9,1,0]。那究竟是什麼意思?這是如何解決AM + PM = DAY? Prolog很奇怪!哈哈 – NoobCoderChick 2014-12-07 00:50:52
嘗試解決([A,M,P,D,Y]),希望有所幫助。如果你說出你不瞭解的東西會更容易。如果你按空間,你會得到其他的。 – 2014-12-07 02:32:08