int a, b, c, k;
k = 0;
for (b = 0; b <= N / 2; b++)
for (c = 0; c <= (N - b*2) / 3; c++)
{
a = N - b*2 - c*3;
k += (a + b + c)! / (a! * b! * c!)
}
Ну самособой это будет работать только для не большик N т.к. int у нас ограничен. А так вместо переменной k результат можно представить в виде массива, и работать уже с масивом.
To joker99
У тебя там вроде опечатка
if(cur+3<=N) countRoutes(cur+1);
помоему должно быть
if(cur+3<=N) countRoutes(cur+3);
Тогда считает.
Последний раз редактировалось Vellion; 16.05.2004 в 13:33.
|