LINUX.ORG.RU

История изменений

Исправление 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++.