一位数
a,b,c,d,....z 26
两位数
ab,ac,......az 25
bc,bd,be....bz 24
cd,ce.......bz 23
de,df.......dz 22
..............
三位数
abc abd abe abf 24
acd 23
f(i,k)可以表示为长度为k,i的字母开头的数量
g(k)表示为长度为k的升序字符串的总数
一个k长的字符串的字典序应该等于
1、位数小于k的升序字符串的总数
2、长度相同,首字母比其小的总数
3、第一位数相同,第二位字母小于当前的第二位的总数
4、第一二位数相同,第三位小于当前的第三位的总数
....
然后以上相加再加1
#include<stdio.h>
#include<string.h>
int f(int i,int k){//i为首字母,长度为k的字符串数量
int num=0;
if(k==1) return 1;
for(int j=i+1;j<&