Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Факториал 30 число маленькое, опять используем полный перебор.
Можно было 2^30 вариантов рассмотреть, было бы достаточно.
for d in range(0,11): # объявляем для чисел новой длины
a[tail,d]=0
b[tail,d]=0
for d in range(1,10): # приписываем слева цифры
?start=0
for q in range(2,76):
[pa,pb]=snext(q)
start=start-pa-pb-9 # т.к. числа состаящие из одних единиц, двоек, ...., девяток учитываем дважды - вычитаем лишние 9
start=start-pa-pb-9 # т.к. числа состаящие из одних единиц, двоек, ...., девяток учитываем дважды - вычитаем лишние 9
start=start-(pa+pb-9)
n = 30
a = [1,1]
def fact(x):
if(x <= 2):
return x
return fact(x-1)*x
for i in range(2,n+1):
b = [ a[0]*i ]
for j in range(1,i):
b += [ a[j-1] + a[j]*i ]
j += 1
b += [ a[j-1] ]
a = b
sum = 0;
for i in range(n/2+1,n+1):
sum += a[i]
print fact(n+1)/sum
Разбор задач 1 тура школы программистов HeadHunter