Cerința
Fie un număr natural n
, n < 2
62
. Să se afişeze toate numerele naturale mai mici sau egale cu n
, cu proprietatea că reprezentarea lor in baza 2
are exact două cifre 1
.
Date de intrare
Fişierul de intrare b2.in
conţine pe prima linie numărul natural n
.
Date de ieșire
În fişierul de ieşire b2.out
se vor afişa în ordine crescătoare numerele cerute, pe o singură linie cu spaţiu între ele.
Restricții și precizări
3 ≤ n < 2
62
Exemplu
b2.in
20
b2.out
3 5 6 9 10 12 17 18 20
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 b2:
#include <fstream>
using namespace std;
ifstream fin ("b2.in");
ofstream fout("b2.out");
long long p2[100];
int main()
{
long long n;
fin >> n;
p2[0] = 1;
for(int i = 1; i <= 61; ++i)
p2[i] = 2 * p2[i - 1];
for(int x = 1; x <= 61; ++x)
for(int y = 0; y < x; ++y){
if(n >= p2[x] + p2[y])
fout << p2[x] + p2[y] << ' ';
}
fout << '\n';
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 #2285 b2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2285 b2 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!