Prolog求助,在数列中找出所有目标数字然后用数列的形式返回
prolog吧
全部回复
仅看楼主
level 1
LP无奈 楼主
刚刚开始学prolog, 遇到一个练习不懂,题目是
比如一个数列[2,1,2,1,4,2], 目标数字是2,然后就会返回[1,3,6]
locate([H|_],H,1).
locate([_|T],H,A):-
locate(T,H,A1),
A is A1+1.
我这里写的已经可以返回数字的位置,但是不知道怎么把它们组成一个数列去返回出来
2018年12月06日 08点12分 1
level 1
LP无奈 楼主
顶一顶
2018年12月06日 09点12分 2
level 13
run(Ns,N,Ls):-run(Ns,N,1,Ls).
run([],_,_,[]).
run([N|Ns],N,L,[L|Ls]):-
LL is L+1,
run(Ns,N,LL,Ls).
run([_|Ns,N,L,Ls):-
LL is L+1,
run(Ns,N,LL,Ls).
2018年12月07日 10点12分 3
level 1
大佬找到了吗
2019年08月04日 04点08分 4
1