👤

in fisierul text numere.in sunt cel mult 9998 de numere naturale nenule, distincte. scrieti un program c/c++ eficient din punct de vedere al timpului de executie, care sa scrie in fisierul numere.out, pe o linie, in ordine descrescatoare, separate prin cate un spatiu, numerele naturale nenule de cel mult 4 cifre, care nu apar in fisierul numere.in​

Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

#include <bitset>

using namespace std;

bitset<10000>v;

ifstream f("numere.in");

ofstream g("numere.out");

int num;

int main()

{

  while (f >> num)

  {

      if ( num<=9999) v[num]=1;

  }

  for (num=9999; num>=1000; --num)

   if (v[num]==0) g << num << " ";

}

Explicație:

am aplicat vector caracteristic pe biţi, care foloseşte cu mult mai puţină memorie.

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari