👤

Șirul de mai jos este definit astfel: f1=1, f2=2, fn=3∙fn-1-2∙fn-2 (unde n este un număr natural n≥3). 1, 2, 4, 8, 16, 32.... Se citește de la tastatură un număr natural x (x≤109), valoare a unui termen al șirului dat, şi se cere să se scrie în fişierul text bac.txt, în ordine descrescătoare, separați prin câte un spațiu, toţi termenii şirului care sunt mai mici sau egali cu x. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare. Exemplu: dacă se citește numărul 16 fişierul bac.txt conţine numerele 16 8 4 2 1


Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ofstream g("bac.txt");

int main()

{

int n,x;

cin>>n;

x=2;

if(n<2)

   g<<n;

else

{while(x<=n/2)

x=x*2;

while(x)

{

g<<x<<" ";

x/=2;

}}

return 0;

}

Explicație:

Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.


Zone Alte intrebari