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

Se dă un număr natural n. Să se verifice dacă n conține cel puțin o cifră de 1, cel puțin o cifră 0 și nu conține alte cifre.


Date de intrare

Programul citește de la tastatură numărul n.


Date de ieșire

Programul va afișa pe ecran mesajul da dacă n conține numai cifre de 0 și 1 (cel puțin una din fiecare), sau nu în caz contrar.


Restricții și precizări

1 ≤ n ≤ 2.000.000.000

Exemplul 1:

Intrare


11011

Ieșire


da

Exemplul 2:

Intrare


161011

Ieșire


nu

Exemplul 3:

Intrare


111

Ieșire
nu
problema #3993 pbinfo
Va roggg e urgent

Răspunsuri la întrebare

Răspuns de MaximLuci
1

Răspuns:

include <iostream>

using namespace std;

int main()

{

    int n, verifz=0, verifu=0, verif=1;       //declararea variabilelor

    cin>>n;                                                            //citire n

     while(n>0)                                                     // daca n e 0, iesim din while

   {                                                                      

      if(n % 10 != 0 || n % 10 != 1)                 //verif alte cifre decat 0 sau 1          

       verif = 0;

   else

      if(n % 10 == 0)                                     // verif daca are 0

       verifz= 1;                                                 //(valoarea devine 1 daca are 0)

   else

      if(n % 10 == 1)                                      /verif daca are 1

       verifu= 1;                                                    //(valoarea devine 1 daca are 0)

       n /= 10;                //scapam de prima cif(cea din dreapta)

       }

     if(verifz == 0 || verifu == 0)

      verif = 0;

    if(verif == 1)                     //afisare

    cout<<"da";

    else

    cout<<"nu";

return 0;

}

Explicație:

unde am folosit n mod 10 inseamna ca verificam doar cifra din dreapta, iar la final( n/= 10 scapam de ea)

!!! n/=10 inseamna n = n / 10!!!

poti folosii asta si la adunari, inmultiri, impartiri

Alte întrebări interesante