.
, ( ~ 1,5 n
= 10000
) .
import time
from itertools import combinations
t = time.process_time()
def sumof(n):
r = 0
while n > 0:
r, n = r + n % 10, n // 10
if r > 9:
r = sumof(r)
return r
def check(x,y):
if x < y:
if sumof(x) < sumof(y):
return True
return False
return False
l=[]
n0=100
for i in range(0,n0):
n1 = n0 * i
n2 = n0 * (i+1)
l+= [ (a,b) for a,b in list(combinations(list(range(n1,n2)),2)) if check(a,b) ]
print(l)
elapsed_time = time.process_time() - t
print(elapsed_time)
[.... (9987, 9999), (9988, 9989), (9988, 9990), (9988, 9998), (9988, 9999), (9989, 9990), (9989, 9999), (9991, 9992), (9991, 9993), (9991, 9994), (9991, 9995), (9991, 9996), (9991, 9997), (9991, 9998), (9991, 9999), (9992, 9993), (9992, 9994), (9992, 9995), (9992, 9996), (9992, 9997), (9992, 9998), (9992, 9999), (9993, 9994), (9993, 9995), (9993, 9996), (9993, 9997), (9993, 9998), (9993, 9999), (9994, 9995), (9994, 9996), (9994, 9997), (9994, 9998), (9994, 9999), (9995, 9996), (9995, 9997), (9995, 9998), (9995, 9999), (9996, 9997), (9996, 9998), (9996, 9999), (9997, 9998), (9997, 9999), (9998, 9999)]
:
~ 1,5 n = 10000
n
, 10000
.
sumof(n)
.