Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
import math
def check(g):
length, sel = 10000, 1000
r = [i[1] for i in sorted([(g*i-math.floor(g*i), i) for i in xrange(1, length+1)])]
sums = [sum(r[i:i+sel]) for i in xrange(0, length-sel)]
return g, min(sums), max(sums), sum(sums)/len(sums)
print check(0.61803398874) # golden ratio
print check(2.18281828459) # e
print check(3.14159265358) # pi
print check(math.sqrt(2))
print check(1) # for comparison
print check(0.74718) # random number, typed by hand
# (0.61803398874000004, 4987059, 5013941, 5000398L)
# (2.1828182845900002, 4981412, 5018588, 5000055L)
# (3.1415926535800001, 4894768, 5106232, 5000330L)
# (1.4142135623730951, 4989953, 5011047, 5000385L)
# (1, 500500, 9499500, 5000000L)
# (0.74717999999999996, 4974814, 5026186, 5001072L)
Задача из старой книги. («Железные» таблицы)