Задание

Перед вами программный код, определяющий способ выдать определенную сумму имеющимися монетами. Расставьте фрагменты программы в правильном порядке.

  • #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;
  • }