Scrieţi un program care afişează toate numerele de 4 cifre cu proprietatea că cifra zecilor este divizibilă cu 3, iar cifra sutelor este 4, 5, sau 6.

Răspuns :

#include <iostream>

using namespace std;

int main()

{

   int nr = 1000;

   while(nr < 10000) {

       if(((nr % 100)/10) % 3 == 0 &&

       ((nr % 1000) / 100 == 4 ||

       (nr % 1000) / 100 == 5 ||

       (nr % 1000) / 100 == 6))

      {

           cout << nr << " ";

       }

       nr++;

   }

}



Cum functioneaza?

Incepem de la 1000, cu o serie de operatii aflam cifra zecilor si cifra sutelor. Pentru cea a zecilor folosim (nr % 100)/10, iar pentru  cea a sutelor (nr % 1000) / 100. Stiind ca numarul nu va avea peste 4 cifre, este in avantajul nostru, daca ar fi fost orice numar posibil, ar fi fost un dezavantaj, si codul ar fi aratat cu totul alt fel, in fine, asta este solutia.