C++ URGENT!! În urma reformei monetare finanţiştii au ajuns la concluzia că numărul de valori monetare necesar pentru plata oricărei sume este 4 şi le-au numit, pentru simplitate RAN, REN, RIN, RON. Astfel ei au stabilit ca monedă de bază moneda numită RAN, cu valoarea 1. Celelalte trei valori le-au exprimat fie în funcţie de moneda de bază, fie în funcţie de altă valoare. Astfel, moneda REN are o valoare de 5 RAN, moneda RIN are valoarea de 2 REN iar moneda RON valoarea de 2 RIN. Finanţiştii îşi pun însă problema dacă cele patru valori monetare oferă o suficientă diversitate de plată astfel încât o sumă de bani să poată fi plătită în mai multe moduri.
Cerinţă
Scrieţi un program care să determine în câte moduri poate fi plătită o anumită sumă S, exprimată în moneda de bază RAN, utilizând noile monede introduse de reforma monetară.
Răspunsuri la întrebare
#include <fstream>
using namespace std;
int S, posibilitati, c20, cate_de_20, rest_la_20, cate_de_10, c10, rest_la_10, cate_de_5, c5, rest_la_5, cate_de_1;
ifstream fin("reforma.in");
ofstream fout("reforma.out");
int main()
{
fin >> S;
posibilitati = 0;
cate_de_20 = S / 20;
for (c20 = 0; c20 <= cate_de_20; c20++)
{
rest_la_20 = S - c20 * 20;
cate_de_10 = rest_la_20 / 10;
for (c10 = 0; c10 <= cate_de_10; c10++)
{
rest_la_10 = rest_la_20 - c10 * 10;
cate_de_5 = rest_la_10 / 5;
for (c5 = 0; c5 <= cate_de_5; c5++)
{
rest_la_5 = rest_la_10 - c5 * 5;
cate_de_1 = rest_la_5 / 1;
posibilitati++;
//fout << c20 << ' ' << c10 <<' ' << c5 << ' ' << cate_de_1 << '\n';
}
}
}
fout << posibilitati << '\n';
fout.close();
return 0;
}
daca stergi comentariul o sa vezi de ce iti da un anumit rezultat