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

Spuneti daca n citit de la tastatura este format din exact doua cifre repetate (n <
2.000.000.000). !! Rezolvare fara vectori !!


balaurmatei1: URGENTTTTTTT!
balaurmatei1: EXEMPLELE:
balaurmatei1: Exemple:
n = 90990900 → DA
n = 21323232 → NU
balaurmatei1: va rog

Răspunsuri la întrebare

Răspuns de OiLoveYouO
2

Răspuns:

#include<iostream>

using namespace std;

long n;

int b, a, ok;

int main()

{

a = -1;

b = -1;

ok = 0;

cin >> n;

while (n>0) {

if (a == -1) {

a = n%10;

n = n/10;

}

if (b == -1 && n%10 != a) {

b = n%10;

n = n/10;

}

if (n%10 != a && n%10 != b)

if (n != 0) {

ok = 1;

break;

}

n = n/10;

}

if (ok == 0) cout << "DA";

else cout << "NU";

return 0;

}

Explicație:

Gaseste mai intai ultima cifra (a), iar apoi gaseste urmatoarea cifra (de la sfarsit spre inceput) diferita de a (adica b). Daca alta cifra de-a lui n (n%10) e diferita si de a si de b, ok ia valoarea 1 si se afiseaza mseajul "Nu". Daca ok ramane 0, inseamna ca toate cifrele lui n sunt egale fie cu a, fie cu b si se afiseaza mesajul "Da".

Anexe:
Alte întrebări interesante