学习目标:

利用prolog编程实现列表元素的全排列。

例如:

  • 输入[a,b,c],得到abc;acb;bca;bac;cab;cba.

代码如下;

del(A,[A|B],B).
del(A,[B|C],[B|D]):-del(A,C,D).
insert(A,S,B):-del(A,B,S).
per([],[]).
per([H1|T1],N):-per(T1,A),del(H1,N,A).


最终效果:

在swi-prolog解释器中输入:

per([a,b,c],X),即可得到最终结果,具体递归过程可自行演练

prolog全排列问题相关推荐

  1. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  2. 求字符串全排列 python实现

    文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...

  3. #418 Div2 Problem B An express train to reveries (构造 || 全排列序列特性)

    题目链接:http://codeforces.com/contest/814/problem/B 题意 : 有一个给出两个含有 n 个数的序列 a 和 b, 这两个序列和(1~n)的其中一个全排列序列 ...

  4. 获取序列全排列Java,java中全排列的生成算法汇总

    全排列的生成算法就是对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来.任何n个字符集的排列都可以与1-n的n个数字的排列一一对应, 因此在此就以n个数字的排列为例说明排列的生成法 ...

  5. 【经典】javascript ES5原生实现考试题答案全排列组合数组结果获取

    //考试题答案全排列组合function getAllArrange(arr, index, group) {index || (index = 0), group || (group = []);v ...

  6. 蓝桥杯 扑克序列(全排列)

    扑克序列 A A 2 2 3 3 4 4, 一共4对扑克牌.请你把它们排成一行. 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌. 请填写出所有符合要求的排列中, ...

  7. Prolog学习:数独和八皇后问题

    上一篇简单介绍了下Prolog的一些基本概念,今天我们来利用这些基本概念解决两个问题:数独和八皇后问题. 数独 数独是一个很经典的游戏: 玩家需要根据n×n盘面上的已知数字,推理出所有剩余空格的数字, ...

  8. prolog_如何通过观看权力的游戏学习Prolog

    prolog by Rachel Wiles 瑞秋·威尔斯(Rachel Wiles) 如何通过观看权力的游戏学习Prolog (How to learn Prolog by watching Gam ...

  9. LeetCode实战:全排列

    题目英文 Given a collection of distinct integers, return all possible permutations. Example: Input: [1,2 ...

最新文章

  1. PHP实现XML传输
  2. 知乎热议:如果不发论文,我们用什么证明自己的科研实力?
  3. [前缀和][dp] Jzoj P5873 小p的属性
  4. sqli-labs在线网站
  5. 雪色光晕(计算几何+暴力)
  6. 系统动力学模型_RCR新文:基于系统动力学模型的中国煤炭产能情景预测
  7. 格式化输出%与format
  8. 幻灯片插入smartArt
  9. 【渝粤教育】电大中专计算机常用工具软件 (2)_1作业 题库
  10. java中控指纹仪_java 中控URU4500指纹仪开发
  11. matlab无限长一维原子链,优·王淑华固体物理答案第三章.ppt
  12. 环信php修改头像,环信客服 如何正确设置用户的头像和昵称?
  13. firefoxos :add ipdl
  14. RF使用技巧--返回值的妙用
  15. 精灵图案例-拼出自己名字
  16. 互联网思维(三)——产业思维
  17. 要不要考公务员 | 进国企?
  18. 关于静态变量的缺省值
  19. zsh : corrupt history file ~/.zsh_history
  20. 我应该理解的一些设计模式(看情况持续更新)

热门文章

  1. 博客园好文,转载作者:欢跳的心写的一篇关于《window 删除文件提示指定的文件名无效或太长 - 欢跳的心 - 博客园》
  2. 基于MSP430f149单片机的简单秒表
  3. MSP430F149的TIMER_B连续计数模式
  4. Windows分区备份迁移和还原工具:Winclone Pro 8 Mac汉化版
  5. Android支持视频编码,影音全能 完美支持十余种视频编码_华为 Ascend P6_手机Android频道-中关村在线...
  6. 南大通用数据库-Gbase-8a-学习-12-Gbase8a常用运维命令(持续更新哈)
  7. 西门子PLC定时器ton与tonr的差异
  8. STM32-按键检测
  9. Linux随笔17-快速入门MySQL数据库基础
  10. Flash与文件系统