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:
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