如何在序言中使用递归绘制直角三角形?

埃尔伯特·詹

我得到这个直角三角形的答案,如下所示:

shape:- shape(0, 6).

shape(S, A) :- S < A, 
              count(0, S), 
              S1 is S+1, 
              shape(S1, A).

shape(S, X) :- S >= X.


count(A, B) :- A =< B, 
              write('*'), 
              A1 is A+1, 
              count(A1,B).

count(A, B) :- A > B, nl.

   *
   **
   ***
   ****
   *****
   ******

我应该修改什么来打印这种类型的直角三角形?

         *
        **
       ***
      ****
     *****
    ******
怀疑
shape(S, _) :- S =< 0.
shape(S, N) :- S > 0, 
              S1 is S-1, 
              count(0, S1, N), 
              shape(S1, N).

count(A, _, N) :- A >= N, nl.
count(A, B, N) :- A < N, 
    (   A >= B
    ->  write('*')
    ;   write('.')
    ),
    A1 is A+1, 
    count(A1,B, N).

?- shape(6, 6).
.....*
....**
...***
..****
.*****
******
true ;
false.

我在打印空间时遇到麻烦。SWI序言中似乎存在一个错误:它不打印任何内容或' '因此,也许这段代码与您的prolog解释器一起运行,write(' ')而不是write('.')

该代码与您的代码非常相似。主要区别在于计数有3个参数:迭代器A,字符边界号B和写入的字符总数(N)。迭代器A必须小于或等于N根据条件A >= B打印'*'打印'.'另外我还必须将其写成倒数,否则树会倒挂/从左到右。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在序言中使用递归绘制星形三角形?

来自分类Dev

如何在 Python/PsychoPy 中绘制直角三角形?

来自分类Dev

如何使用python绘制直角三角形

来自分类Dev

在Visual Basic中使用循环创建直角三角形

来自分类Dev

如何使用Javascript数学库计算直角三角形的角度?

来自分类Dev

直角三角形的实现

来自分类Dev

php - 直角三角形

来自分类Dev

如何创建不带def功能的带星号的直角三角形?

来自分类Dev

使用JavaScript计算直角三角形的边?

来自分类Dev

使用嵌套的for循环python 3.x的直角三角形

来自分类Dev

如何在div上制作直角三角形切口?

来自分类Dev

如何在div上制作直角三角形切口?

来自分类Dev

检查三角形是否为直角三角形

来自分类Dev

C程序检测直角三角形

来自分类Dev

直角三角形的长度(Java Eclipse):用户输入图

来自分类Dev

Java:显示由字符组成的奇数直角三角形

来自分类Dev

Codechef和直角三角形的斜率方法

来自分类Dev

直角三角形可能吗?

来自分类Dev

R基本图,合并镜像直角三角形

来自分类Dev

无法获得:创建直角三角形之后

来自分类Dev

该符号的直角三角形,其边等于该数字

来自分类Dev

Java:显示由字符组成的奇数直角三角形

来自分类Dev

Java计算非直角三角形中的角度点

来自分类Dev

确定“等腰直角三角形”中的顶点

来自分类Dev

在 C++ 中确定等腰直角三角形

来自分类Dev

如何打印出给定范围内直角三角形的周长和数量?

来自分类Dev

CSS使用实心填充将渐变应用于直角三角形形状

来自分类Dev

使用 Java 为实验室打印带有 Astericks 的倒直角三角形

来自分类Dev

Javascript函数输出带换行符的字符串以创建直角三角形

Related 相关文章

热门标签

归档