В с++ В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. Дано натуральное число n. Как наименьшим количеством таких денежных купюр можно выплатить сумму п (указать количество каждой из...

В с++ В некоторой стране используются денежные купюры достоинством в 1, 2, 4, 8, 16, 32 и 64. Дано натуральное число n. Как наименьшим количеством таких денежных купюр можно выплатить сумму п (указать количество каждой из используемых для выплаты купюр)? Предполагается, что имеется достаточно большое количество купюр всех достоинств. С кодом пожалуйста
Гость
Ответ(ы) на вопрос:
Гость
Насколько я понял ваше условие, вот код (немножко на скорую руку, но рабочий!): #include #include using namespace std; int main(){ int n, kolvo=0;//заводим переменную n и переменную kolvo, отвечающую за количество купюр cout << "Enter n:\n"; cin >> n;//сканируем эту переменную if (n > 64){ kolvo += n / 64; n %= 64; } if (n > 32){ kolvo += n / 32; n %= 32; } if (n > 16){ kolvo += n / 16; n %= 16; } if (n > 8){ kolvo += n / 8; n %= 8; } if(n > 4){ kolvo += n / 4; n %= 4; } if (n > 2){ kolvo += 1; n %= 2; } if (n == 1){ kolvo += 1; } cout <<"There's the number:\n"<< kolvo; return 0; } P.S.:думаю понятно, почему последние два if' а отличаются, но если остались вопросы, то пишите!
Не нашли ответ?
Ответить на вопрос
Похожие вопросы