belfry专题

欧拉计划第868题:Belfry铃声排列

欧拉计划第868题的题目描述: 有一种Bell铃手用来生成所有铃铛响声顺序变化的方法。 同样的方法也可以用来创建一组字母的所有排列。初始时,将字母从小到大排列。在每一步中,将最大的字母与其左边或右边的字母交换,以生成一个未出现过的排列。如果两种交换方式都没有生成出新排列,则尝试下一个最大的字母,依此类推。如果持续这个过程,可以生成所有的排列。 例如,从ABC开始时,需要3次交换才能得到排列C