Rog ajutor de la cineva cu mintea limpede . Ce trebuie sa inteleg din problema de mai jos.?? Sunt incepator si nu pot folosi decat if, else,si while.
Numerele au devenit foarte sociabile. Un număr A se poate împrieteni cu un număr B doar dacă B este divizibil cu A.

Programul scris de tine va trebui să citească numere naturale de la tastatură până în momentul în care valoarea citită e 0. Cu câte dintre numerele citite se poate împrieteni primul număr citit?

Date de intrare
Se citește șirul de numere până la întâlnirea lui 0. Numerele vor fi despărțite prin spații.

Date de ieșire
Se va afișa răspunsul întrebării din cerință, numărul elementelor cu care se împrietenește primul număr al șirului.

Restricții
Un număr se poate împrieteni cu el însuși
Se citesc maxim100.000 de numere până la întâlnirea lui 0
0 nu face parte din șir
Elementele șirului sunt numere naturale cuprinse între 0 și 1000
Exemplu
Date de intrare Date de ieșire
4 8 3 5 4 0 3

Răspuns :

Numeri de cate ori B%A==0, unde A este primul numar citit de la tastatura

si B este, pe rand, celelalte numere citite de la tastatura, iar A!=0 si B!=0.

int main(){

   int A, B, nr=0;

   cin>>A; // citim primul numar

   if(A!=0){  // daca A este diferit de 0

       cin>>B; // il citim si pe al 2-lea

       while(B!=0){// cat timp al 2-lea numar e diferit de 0

           if(B%A==0){ // verificam daca B este divizibil cu A( A se poate          imprieteni cu B)

           nr++;//marim contorul

           //echivalent cu nr=nr+1;

         }

         cin>>B;//reluam citirea

      }

   }

   cout<<nr;

   return 0;

}