Cu While in C++, va rog mult!

Cerință
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 maxim 100 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 1 000
Exemplu
Date de intrare Date de ieșire
4 8 3 5 4 0 3