研发工程师笔试编程题

某生产零件的工厂为方便管理场内生产的零件种类,现将他们生产的零件从低等到高等零件排序,序号分别为1,2…n,已知该厂的任意几个低等的零件可以组合成等高等的零件,零件的序号代表了零件的等级,比如5号零件可以有1号和4号零件组合而成,也可以由2号和4号零件组合而成.
现有一个序号为x的零件,它是由n个序号在[a,b]区间内的零件组合而成,求n个序号在[a,b]区间内的零件组合为x零件的概率

输入

一行输入四个整数依次为n,a,b,x,用空格分割,数据规模和约定
对于50%的数据,n<=5;
对于100%的数据,n<=100,b<=100

输出

输出一行为组合为x零件的概率,小数点后保留四位小数

样例输入

2 1 3 4

样例输出

0.3333


现在有”abcdefghijkl”12个字符,将其所有的排列中按字典排序,给出任意一种排列,说出这个排列在所有排列中是第几小的?

输入

第一行有一个整数n(0< n <=10000)
随后有n行,每行是一个排列;

输出

输出一个整数m,占一行,m表示排列是第几位

样例输入

3
abcdefghijkl
hgebkflacdji
gfkedhjblcia

样例输出

1
302715242
260726926