Помогите решить задачу в visual studio c++.Дано натуральное число n (n меньше 100). а) Определить число способов выплаты суммы n рублей с помощью монет достоинством 1, 2, 5 рублей и бумажных купюр достоинством 10 рублей. б) П...
Помогите решить задачу в visual studio c++.Дано натуральное число n (n < 100).
а) Определить число способов выплаты суммы n рублей с помощью монет
достоинством 1, 2, 5 рублей и бумажных купюр достоинством 10 рублей.
б) Получить все способы выплаты (указать, какие монеты и купюры и в каком
количестве следует использовать).
Ответ(ы) на вопрос:
Гость
#include
using namespace std;
int main() {
int n,k10,k5,k2,k1,k;
cout << "n = ", cin >> n, cout << "\n";
k = 0;
for (k10=0; k10<=n / 10; k10++)
for (k5=0; k5<=(n-10*k10) / 5; k5++)
for (k2=0; k2<=(n-10*k10-5*k5) / 2; k2++) {
k1 = n-10*k10-5*k5-2*k2;
cout << k10 << " " << k5 << " " << k2 << " " << k1 << "\n";
k = k+1;
}
cout << "k = " << k;
return 0;
}
Пример:
n = 16
0 0 0 16
0 0 1 14
0 0 2 12
0 0 3 10
0 0 4 8
0 0 5 6
0 0 6 4
0 0 7 2
0 0 8 0
0 1 0 11
0 1 1 9
0 1 2 7
0 1 3 5
0 1 4 3
0 1 5 1
0 2 0 6
0 2 1 4
0 2 2 2
0 2 3 0
0 3 0 1
1 0 0 6
1 0 1 4
1 0 2 2
1 0 3 0
1 1 0 1
k = 25
Не нашли ответ?
Похожие вопросы