1到n的數按字典序排序
阿新 • • 發佈:2019-01-26
#coding:utf-8 ''' 輸入:n,m 輸出從 1 到 n 的數按 字典序 排序的低 m 個數 如輸入:11 4 1 10 11 2 3 4 5 6 7 8 9 中的第四個數 輸出: 2 ''' import numpy as np from numpy import * s = raw_input() s = s.split(' ') n = int(s[0]) m = int(s[1]) nn = 0 # 生成了nn個數了 nlen = len(str(n)) # n 的長度 reslist = [] # 結果列表 def fun(a): global m,n,nn,reslist if nn>=m: print 'nn=',nn return elif len(a)>nlen: print 'a=',a,' so',len(a),'>',nlen return elif int(a)>n : print a,'>',n,':','a>n' return else: reslist.append(a) nn+=1 print nn,'\t',a if (len(a)<nlen)&(nn<m): for j in range(10): temp = '' temp = str(a)+str(j) fun(temp) for i in range(1,10): if nn<m:fun(str(i)) print reslist print reslist[-1]