level 1
replicate(0,_,[]).
replicate(R1, H, [H|T]):-
R2 is R1 - 1,
replicate(R2, H, T).
我的程序是这样子的,但是老师要求输出为replicate(s(s(s(0))),a,[a,a,a])。
求问这个S(0)该怎么定义啊?
2017年07月09日 14点07分
1
level 13
s(x)又不是函数,按你的replicate的定义,怎么写都不会有replicate(s(s(s(0))),a,[a,a,a])
2017年07月17日 03点07分
2
拜托看下这个问题
2017年07月17日 15点07分
@丁兔 ![[你牛]](/static/emoticons/u4f60u725b.png)
谢谢!你不会是大学里教人工智能的老师 吧?!!!
2017年07月18日 08点07分
level 13
说回主楼的题目,应该是这样:
replicate( 0, _, [] ).
replicate( s(S), H, [H|T] ):- replicate( S, H, T ).
谓词s不定义也没关系。
2017年07月18日 08点07分
3