免费智能真题库 > 历年试卷 > 程序员 > 2018年下半年 程序员 下午试卷 案例
第1题      
知识点   排列

 
【说明】
设[a1b1],[a2,b2],...,[an,bn]是数轴上从左到右排列的n个互不重叠的区间(a1<b1<a2<b2...<an<bn).以下流程图将一个新的区间[A,B](A<B)添加到上述区间集,形成新的从左到右排列的若千个互不重叠的区间(若A、B落在原有的两个区间,则以原有区间最左端点和最右端点为基准,形成新的区间),最后依次输出这些区间的端点。
例如,给定区间集:[1,2],[4,6],[8,10],[13,15],[17,20],添加区间[5,14]后,依次输出1,2,4,15,17,20,表示合并后的区间集:[1,2],[4,15],[17,20]。
该流程图采用的算法是:先在a1,b1,a2,b2,...,an,bn中扫描定位A点,再继续描定位B点,在扫描过程中随时输出已确定的区间的端点值。

 
问题:1.1   (共15分)
阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。
 
 
 



   知识点讲解    
   · 排列
 
       排列
        设S为具有n个不同元素的n元集,从S中选取r个元素且考虑其顺序称为S的一个r排列,不同排列的总数记为,有时也用P(nr)表示。如果r=n,则称这个排列为S的全排列。从排列的定义可知,如果两个排列相同,不仅这两个排列的元素必须完全相同,而且排列的顺序也必须完全相同。
        
        例子1:用0~9这十个数字,可以组成多少个没有重复数字的三位数?
        解法1:由于百位数上的数字不能为0,因此可先考虑排百位上的数字,再排十位和个位上的数字。百位数上的数字只能从除0以外的1~9数字中任选一个,有种;十位和个位上的数字,可以从余下的9个数字中任选两个,有种。根据乘法原理,所求的三位数的个数是
        解法2:可先考虑从0~9这十个数字中任取三个数字的排列数(),再减去其中以0开头的排列数()。因此,所求的三位数的个数是
        解法3:符合条件的三位数可以分为三类:每一位数字都不是0的三位数有个;个位数是0的三位数有个;十位数是0的三位数有个。根据加法原理,符合条件的三位数个数是


 题号导航      2018年下半年 程序员 下午试卷 案例   本试卷我的完整做题情况 
1 /
2 /
3 /
4 /
5 /
 
↓第1题