在prolog

时间:2016-05-16 18:59:51

标签: prolog

我必须在prolog中做一些谓词。我的任务是在itsert中创建这个三角形:

triangle(3):-

这应该是这样的:

1

1 个答案:

答案 0 :(得分:1)

下面:

triangle(0).                               
triangle(N):-                              
N0 is N-1, triangle(N0), writeHalves(N). 

writeHalves(N):-                           
writeL(1, N), Ns is N-1, writeR(Ns, Ns). 

writeR(0, N):- write('\n').                
writeR(N, N):-                             
write(N), N0 is N-1, writeR(N0, N0).     

writeL(X, N):-                             
write(X), X0 is X+1, X\=N, writeL(X0, N).
writeL(N, N).                              

...虽然,我会留出空间给你,因为这闻起来 喜欢做作业;) 一个提示:做一个三角形/ 2必须被证明调用三角形/ 1,它使用累加器来计算所需的空格数,作为谓词的另一个项。即triangle(N):- triangle(N, Accum)其中Accum等于0并递增。