Cerința
Se citeşte un număr natural n
. Să se scrie n
ca sumă de puteri crescătoare ale lui 2
.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran un şir de numere naturale distincte, separate prin câte un spaţiu, astfel:
- toate numerele sunt puteri ale lui
2
- suma numerelor este
n
- numerele sunt în ordine crescătoare
Restricții și precizări
1 ≤ n ≤ 2.000.000.000
- vă recomandăm să realizaţi o soluţie recursivă
Exemplu
Intrare
10
Ieșire
2 8
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 Puteri3:
#include <iostream>
using namespace std;
void generare (int n , int p)
{
if(n)
{
if(n % 2 == 1)
cout << p << " ";
generare(n / 2 , p * 2);
}
}
int main(){
int n;
cin >> n;
generare(n,1);
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 #872 Puteri3
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #872 Puteri3 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!