Informatică, întrebare adresată de climaCode, 8 ani în urmă

Urgent C++.

Se dă un număr întreg fără semn N reprezentat pe 64 biți, citit de la tastatură. Să se introducă la finalul numărului cifrele care nu se regăsesc în interiorul acestui număr N, în ordine crescătoare.
NU se vor utiliza vectori în rezolvarea problemei. Date de intrare:
Numărul întreg N
Date de ieșire:
Numărul N modificat conform cerinței Restricții și precizări:
0 <= N < 10^7
NU se vor utiliza vectori în rezolvarea problemei! Exemplu:
Date de intrare:
457
Date de ieșire:
4570123689

Anexe:

Răspunsuri la întrebare

Răspuns de VxF
1

Răspuns:

#include <iostream>

int main()

{

   unsigned long long numar;

   std::cout << "Număr: ";

   std::cin >> numar;

   unsigned long long temp = numar;

   int inLocDeVector = 0;

   while (temp) {

       inLocDeVector |= 1 << temp % 10;

       temp /= 10;

   }

   

   for (int i = 0; i <= 9; i++) {

       if (! (inLocDeVector & 1)) {

           numar = numar * 10 + i;

       }

       inLocDeVector >>= 1;

   }

   std::cout << "Număr completat: " << numar << std::endl;

}

Explicație:

Sper să nu se considere trişare că în loc de vector am folosit biţii unui întreg.


climaCode: imi ajut si
climaCode: la alte doua probleme ca am postat
Alte întrebări interesante