Informatică, întrebare adresată de iontatarugames, 8 ani în urmă

Scrieți un program care citește de la tastatură valorile variabilelor a, b, c, n, i, j, k apoi afișează pe ecran rezultatul exprimă orice sumă n (în lei) în minimum de bancnote sau monede de 1 leu, 2 lei, 5 lei, 10 lei, 20 lei, 50 lei, 100 lei, 200 lei și 500 lei in limbajul C dau coroana ca fiind cel mai bun raspuns de nota 10.


Sergetec: Spune mi daca am inteles bine problema. Noi avem o suma de bani n si vrem sa folosim cat mai putine bancnote (1, 2, 5, 10, 20, 50, 100, 200 si 500) pentru a obtine suma respectiva. Nu avem limita la numarul de bancnote, am inteles bine?
iontatarugames: da
Sergetec: In C++ te ajuta?
iontatarugames: da

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int S, v[10] = {0, 1, 2, 5, 10, 20, 50, 100, 200, 500}, sol[10];

void afisare() {

   for (int i = 1; i <= 9; ++i) {

       cout << v[i] << " : " << sol[i] << '\n';

   }

}

void rezolvare(int sum) {

   for (int i = 9; i >= 1; --i) {

       if (sum >= v[i]) {

           sol[i] = sum / v[i];

           sum = sum - sol[i] * v[i];

       }

   }

   afisare();

}

int main() {

   cin >> S;

   rezolvare(S);

   return 0;

}

Alte întrebări interesante