Простая ситуация: вы использовали стороннюю библиотеку в проекте, над которым работаете. Она отлично решает вашу проблему, однако выясняется, что в ней есть баг. fork -> fix -> pull request -> profit. И ачивка вам, и проект сделан и некоторого рода благодарность автору библиотеки.
Просто очень люблю задачи динамического программирования.
Пусть a[i,j] — количество способов вытащить j — синих дисков на i ходу.
Тогда a[i,j] = a[i-1,j] * j + a[i-1,j]
То есть
a[i-1,j] — мы взяли на прошлом ходу сколько нужно синих дисков, можем взять любой из i красных дисков (домножаем на i)
a[i-1,j-1] — набрали на прошлом ходу меньше, чем нужно, на один и только один способ взять красный (домножаем на 1)
Думаю, в данном случае это не принципиально. Код — говно. Но в данном случае это и не важно, потому что он написан для того, чтобы один раз посчитать, а с этой задачей, как Вы можете убедиться, он справился.
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
Данная лицензия не подразумевает свободное использование. Там есть прямая ссылка на коммерческую лицензию. Есть лицензия с использование исходного кода, т.е. если вы что-то делаете, то обязаны сделать это достоянием общественности вместе с исходным кодом ваших трудов и приложение лицензии на продукт. Несанкционированная пуликация же прямой ссылки на скачку, это просто проявление неуважения к производителю и таким же разработчикам, как Вы, которые трудились над созданием данного продукта.
Пусть a[i,j] — количество способов вытащить j — синих дисков на i ходу.
Тогда a[i,j] = a[i-1,j] * j + a[i-1,j]
То есть
a[i-1,j] — мы взяли на прошлом ходу сколько нужно синих дисков, можем взять любой из i красных дисков (домножаем на i)
a[i-1,j-1] — набрали на прошлом ходу меньше, чем нужно, на один и только один способ взять красный (домножаем на 1)
Надеюсь, объяснил понятно.
ПС с питоном знаком плохо