История изменений
Исправление satanic-mechanic, (текущая версия) :
Я уже написал по поводу твоего кода, но отправить не смог, ты удалил коммент...
Все верно, но небольшая ошибка.
for (int i = numberOfBanknotes-1; i >= 0; i--)
{
if (banknotes[i] > prevBanknote)
continue;
numberOfSolutions++;
exchange(banknote - banknotes[i], banknotes[i]);
}
Убери лишний подсчет решений (неверный), все решения у тебя правильно подсчитываются первой инструкцией numberOfSolutions++.
Но для 1024 работать это решение будет долго.
Исправление satanic-mechanic, :
Я уже написал по поводу твоего кода, но отправить не смог, ты удалил коммент...
Все верно, но небольшая ошибка.
for (int i = numberOfBanknotes-1; i >= 0; i--)
{
if (banknotes[i] > prevBanknote)
continue;
numberOfSolutions++;
exchange(banknote - banknotes[i], banknotes[i]);
}
Убери лишний подсчет решений (неверный), все решения у тебя правильно подсчитываются первой инструкцией numberOfSolutions++.
Исходная версия satanic-mechanic, :
Я уже написал по поводу твоего кода, но отправить не смог, ты удалил коммент...
Все верно, но небольшая ошибка. [code lang=c] for (int i = numberOfBanknotes-1; i >= 0; i--) { if (banknotes > prevBanknote) continue; numberOfSolutions++; exchange(banknote - banknotes, banknotes); }
Убери лишний подсчет решений (неверный), все решения у тебя правильно подсчитываются первой инструкцией numberOfSolutions++.