Cerinţa
Se dă un număr natural nenul n
. Să se determine toate modalităţile distincte de descompunere a numărului n
în sumă de 3
şi 5
.
Date de intrare
Fişierul de intrare suma35.in
conţine pe prima linie numărul n
.
Date de ieşire
Fişierul de ieşire suma35.out
va conţine, în ordine lexicografică, toate modalităţile de descompunere a lui n
în suma de 3
şi 5
. Elementele fiecărei descompuneri vor fi scrie pe câte o linie a fişierului şi separate printr-un spaţiu.
Restricţii şi precizări
1 ≤ n ≤ 1000
- pentru fiecare dintre valorile lui
n
folosite în fişierele de test există cel puţin o soluţie - în fiecare descompunere elementele vor fi aranjate crescător
Exemplu
suma35.in
40
suma35.out
3 3 3 3 3 3 3 3 3 3 5 5 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema suma35:
#include <fstream>
#include <iostream>
using namespace std;
int x[1000], n;
ifstream fin("suma35.in");
ofstream fout("suma35.out");
void afisare(int k){
for(int i=1;i<=k;++i)
fout << x[i] << " ";
fout << "
";
}
void back(int k, int s){
for(int i=1 ; i<=2 ; ++i)
{
x[k]=i==1?3:5;
if(x[k]>=x[k-1])
if(s+x[k]<=n)
if( s+x[k] == n )
afisare(k);
else
back(k+1, s+x[k]);
}
}
int main(){
fin>>n;
back(1,0);
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #319 suma35
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #319 suma35 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!