Задание
Перед вами программный код, определяющий способ выдать определенную сумму имеющимися монетами. Расставьте фрагменты программы в правильном порядке.
- #include <iostream>
#include <algorithm> - using namespace std;
- int main\(\)
{ - int tens, fives, twoes, ones, cnt_10, cnt_5, cnt_2, cnt_1, sum;
- cout << "Input tens, fives, twoes, ones and sum, you need" << endl;
cin >> tens >> fives >> twoes >> ones >> sum; - cnt_10 = min\(sum / 10, tens\);
cnt_5 = min\(\(sum \- cnt\_10 \* 10\) / 5, fives);
cnt_2 = min\(\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5\) / 2, twoes);
cnt_1 = min\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5 \- cnt\_2 \* 2, ones\); - if \(cnt\_10 \* 10 \+ cnt\_5 \* 5 \+ cnt\_2 \* 2 \+ cnt\_1 \* 1 \!= sum\) {
if \(cnt\_5 \\gt 0\) {
--cnt_5;
cnt_2 = min\(\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5\) / 2, twoes);
cnt_1 = min\(\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5 \- cnt\_2 \* 2\) / 2, ones);
} else if \(cnt\_10 \\gt 0\) {
--cnt_10;
if \(fives \\gt 0\) {
cnt_5++;
cnt_2 = min\(\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5\) / 2, twoes);
cnt_1 = min\(\(sum \- cnt\_10 \* 10 \- cnt\_5 \* 5 \- cnt\_2 \* 2\) / 2, ones);
}
}
} - if \(cnt\_10 \* 10 \+ cnt\_5 \* 5 \+ cnt\_2 \* 2 \+ cnt\_1 \* 1 == sum\) {
cout << "Tens: " << cnt_10 << endl;
cout << "Fives: " << cnt_5 << endl;
cout << "Twoes: " << cnt_2 << endl;
cout << "Ones: " << cnt_1 << endl;
} else {
cout << "No change" << endl;
} - return 0;
- }