http://community.topcoder.com/stat?c=problem_statement&pm=12436&rd=15491
The following code prints the first 50 lexicographically sorted values of the records names:
class Test:
def __init__(self):
self.res = []
def f(self,n,x):
if x >n:
return
if len(self.res) < 50:
self.res.append(x)
#print x
else:
return
self.f(n,x*10)
rem = x%10
if rem != 9:
self.f(n,x+1)
def getRes(self,n,x):
self.f(n,x)
print self.res
Sample values printed from the program:
Test().getRes(1010,1)
1
10
100
1000
10000<
1001
10010<
1002
1003
:
1009
101
1010
The following code prints the first 50 lexicographically sorted values of the records names:
class Test:
def __init__(self):
self.res = []
def f(self,n,x):
if x >n:
return
if len(self.res) < 50:
self.res.append(x)
#print x
else:
return
self.f(n,x*10)
rem = x%10
if rem != 9:
self.f(n,x+1)
def getRes(self,n,x):
self.f(n,x)
print self.res
Sample values printed from the program:
Test().getRes(1010,1)
1
10
100
1000
10000<
1001
10010<
1002
1003
:
1009
101
1010