




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法之序数法排列1.序数法我们通过一个具体的例题说明思想方法.例得到30119/2=9....19/3=3....03/4=0....3就得到301,因为301是1234的排列中有4*3*2*1中的第19个排序列,总共24种例1234中第7个排序列是什么?7/2=3....13/3=1....01/4=0....1这样第7位是1010了在例12345中第7个排序列是什么?7/2=3..13/3=1..01/4=0....10/5=0..0排序列就是0101了例(1)4213(301)4后面比4小的数的个数a3=3;3后面比3小的数的个数a2=0;2后面比2小的数的个数a1=1.(301)T4213由a3=3知1,2,3都在4的后面;由a2=0知1,2都在3前面;由ai=1知1在2后面.(4213)^(aaa)=(301).321利用序列得到相应排列是关键,可以设想为给n个格子中填写比如其中的序列(221)所对应的排列:1,2,...,n.如上面的例题:先由a3=2决定4的位置再由a2=2决定3的位置131412 1再由a1=1决定2的位置通过此方法编写C++算法:#include<iostream.h>intmain(void)(l1:intn;cout<<"请输入数字1至无穷大"<<endl;cin>>n;int*a=newint[n];intnj=1;//得到n的阶层int*b=newint[n];//输出n阶层对应项int*c=newint[n];//得到商int*d=newint[n];//输出排列intjilu=0;//记录初始化intkong=0;//计算为1的位置for(inti=0;i<n;i++)(a[i]=i+1;//cout<<a[i]<<endl;}for(intj=0;j<n;j++)(nj=nj*(j+1);//cout<<nj<<endl;}for(intl=0;l<nj;l++)(for(inti=1;i<n;i++)(if(i==1)(b[i]=l%2;c[i]=l/2;elseb[i]=c[i-l]%(i+l);c[i]二c[iT]/(i+l);}//cout«b[i] ;}for(intj=0;j<n;j++){d[j]=l;}for(intk=n-l;k>0;k--){cout〈〈b[k]〈〈〃〃;for(inti=0;i<n;i++){if(d[i]==l){++kong;/能使用kong++//cout<<kong<</z"for(intj=0;j<n;j++)(if(d[j]==1)(if(jilu==b[k])(d[j]=a[kong-1];//必须使用kong-1jilu=0;break;}else(++jilu;}}}kong
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部管理办法模板
- 军事传播管理办法
- 军港管理办法修订
- 农业用火管理办法
- 农垦安全管理办法
- 农村制度管理办法
- 农村水井管理办法
- 农用资料管理办法
- 农行双录管理办法
- 农险投诉管理办法
- 九招致胜课件完整版
- 2014年欧洲儿童急性胃肠炎诊治指南
- YS/T 617.1-2007铝、镁及其合金粉理化性能测定方法 第1部分:活性铝、活性镁、活性铝镁量的测定 气体容量法
- GB/T 1972-2005碟形弹簧
- 保育员三级理论知识考核试题题库及答案
- 画册设计工作计划模板
- 送达地址确认书(诉讼类范本)
- 东北地区玉米施肥现状、问题与对策
- 图文全文解读2022年发改委发布《电力可靠性管理办法(暂行)》PPT
- 钢铁中日材料对照表
- 涟水县高沟中学学生成长导师制《导师工作手册》(共58页)
评论
0/150
提交评论