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

0 голосов
142 просмотров

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


Информатика (26 баллов) | 142 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Насколько я понял ваше условие, вот код (немножко на скорую руку, но рабочий!):

#include
#include
using namespace std;
int main(){
int n, kolvo=0;//заводим переменную n и переменную kolvo, отвечающую за количество купюр

cout << "Enter n:\n";</span> 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;<br> return 0;
}

P.S.:думаю понятно, почему последние два if' а отличаются, но если остались вопросы, то пишите!


(68 баллов)