全排列的本质——康托展开以及本质原理分析——选取第N个——由序列推知第几个

来源:互联网 发布:mysql中timestamp类型 编辑:程序博客网 时间:2024/06/05 08:14

先用一个例子简单介绍一下这个原理

12345找出这个序列全排列的第16个



计算方法就是如果你要求12345全排列的第16个的话

求第一位 用15/4!=0余15,那么前面有0个数,得到1。那么此时12345剩下了2345。

求第二位 用余的15/3! = 2余3,那么前面有2个数,得到4。剩下235。

求第三位 用余的3/2! = 1余1,那么前面有1个数,得到3,剩下25。

求第四位 用余的1/1! = 1余0,那么前面有1个数,得到5,剩下2。

求第五位 即2。


为什么可以这样求?下面是原理分析。


这里我们列出了分别由1,2,3,4,5开头的数分布在哪些区间。如1开头的数,就分布在1到4!。2开头的数,就分布在4!+1到2*4!。。。


再细化一下,这里又列出了21,22,23,24开头的4个数。21是4!+1到4!+3!。22是4!+1+3!到4!+2*3!。。。


所以我们不难得知,我们这样在求余数的过程中,其实就是在给这些数在定位。

我们求15/4!=0余15。那么就意味着我们第一个数是在第一个区间,即1.

这里我们余得15,就是我们在这个区间内的第15个数。


15/3!=2余3。那么我们第二个数就是剩下的2345的第三个数(因为余数是从0开始的)。以此类推。


为什么我们求16又用的是15而不是16呢?那你用1带进去试试看。最后除出来的结果是1/1!=1余0.所以是在第二个区间那就是2?当然不对。

我们这里减一位开始是为了考虑余数是从0开始为我们定位这个区间的。



换个问法,14352是第几个数?当然用上面例子的反向思维!如果领悟了上面的图,这里会不假思索地写出答案:16。嘿嘿。

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 oppor9没有双清怎么办 泄露验证码之后怎么办 手机验证码被盗怎么办 网络博彩不让提款怎么办 冰团e购扫码注册怎么办 苏宁销售火爆怎么办 菲洛城平台黑钱怎么办 货车扣12分怎么办 烟草证下来后怎么办 余款未结该怎么办 沙袋吸盘吸不住怎么办 电视购物不退货怎么办 母亲相信电视购物怎么办 中关村商城会买到假货怎么办 年休 科室主任不同意怎么办 怡成血糖仪不准怎么办 电子血压仪不准怎么办 学java没思路怎么办 安逸花评分不足怎么办 环保投诉不管用怎么办 乐购超市会员卡怎么办 易购225冻结金额怎么办 麻将机不洗牌了怎么办 麻将桌升不起来怎么办 公司宣布破产债务怎么办 一元乐购被骗怎么办 车被墙外皮砸了怎么办 win10安全中心打不开怎么办 导航出现001错误怎么办 车导航代码错误怎么办 买了假化妆品怎么办 发物流没有单号怎么办 天添网密码忘了怎么办 新华书香卡过期怎么办 车险断了一年怎么办 天添新倒闭捷信怎么办 建行diy信用卡怎么办卡 奥体 游泳卡过期怎么办 次卡过期了怎么办 该插件不受支持怎么办 信用卡申请找不到住址怎么办