小编cgs*_*gss的帖子

在prolog列表中找到逐步更大的元素

给定一个prolog列表,我想创建第二个包含逐渐变大的元素.例如,

L = [ 1, 5, 2, 3, 4, 10, 15, 11, 12, 13, 20 ]

Answer = [ 1, 5, 10, 15, 20 ]
Run Code Online (Sandbox Code Playgroud)

我的代码:

local_max([],_,_).
local_max([XH|XT],Y,temp) :-
    ( XH =< temp ->
      local_max(XT,Y,temp)
      ;
      local_max(XT,[XH|Y],XH)
    ).
Run Code Online (Sandbox Code Playgroud)

我认为这应该让我的回答简单地逆转,但事实并非如此.只是假的.

该列表只包含正整数,所以我只是这样做了

local_max([ 1, 5, 2, 3, 4, 10, 15, 11, 12, 13, 20 ],Answer,0).
Run Code Online (Sandbox Code Playgroud)

list prolog

5
推荐指数
2
解决办法
336
查看次数

标签 统计

list ×1

prolog ×1