【问题标题】:SWI-Prolog, writing backwardsSWI-Prolog,倒写
【发布时间】:2016-06-17 10:49:13
【问题描述】:

这是一个应该从列表中向后写的谓词,但是由于 'tab(-2)' 不起作用,我想知道是否还有其他谓词,或者使用 'tab/1 的不同方式'为了向后移动。 (在这种情况下,不能使用“reverse/2”)。

我对这一切都很陌生,所以我希望我做的一切都是正确的,任何形式的帮助都将不胜感激。

snakeprint([X|Xs],Counter1,Counter2,Y,2):-
   tab((Y*3)-3),                               
   write(X),                                 
   tab(-2),                                  
   C1 is Counter1-1,
   snakeshift([X|Xs],V),
   snakeprint(V,C1,Counter2,Y,2).

【问题讨论】:

    标签: prolog


    【解决方案1】:
    snakeprint([H|T]) :-
        snakeprint(T),
        write(H).
    
    snakeprint([]).
    


    Input: ["M", "a", "r", "y", " ", "h", "a", "d"]
    Output: dah yraM
    

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 1970-01-01
      • 2012-09-08
      • 2011-06-11
      • 1970-01-01
      • 2016-01-16
      • 2014-12-22
      • 1970-01-01
      相关资源
      最近更新 更多