计算列表中列表中的每个元素?
continue
I'm new to learn Prolog, I want to fulfill the predicate below, I have no idea how I implement this
count([9,9,2,2,1],X). -- input
X = [1-1,2-2,9-2].
[X-Y] = X is the value, Y is the counter.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
swi-prolog 的结果:
这是一个逻辑上纯粹的版本(其中最终排序需要最多的编码工作):
swi-prolog 的结果:
组合会快速增加,所以这里只是一个尝试:
Result in swi-prolog:
Here is a logically-pure version (in which the final sort needed the most coding effort):
Result in swi-prolog:
The combinations multiply quickly, so here is just a taste:
一个可能的解决方案
A possible solution
在 SWI-Prolog 中,您还可以使用 clumped/2如下:
示例:
In SWI-Prolog, you can also use clumped/2 as follows:
Examples: