Help!

Am aproximativ o săptămână de când încerc sa rezolv această problemă și nu reușesc.
Dacă este cineva binevoitor să mă ajute aș aprecia enorm.

Cerință
Se consideră o codificare a unui sistem solar format din mai multe planete printr-un număr: prima cifră reprezintă cifra caracteristică primei planete, a doua cifră caracterizează a doua planetă etc. Un locuitor al unei planete poate călători pe o altă planetă dacă cifra caracteristică planetei de unde provine el este divizor al cifrei planetei unde vrea să ajungă.

Te afli pe prima planetă a unui sistem solar format din X planete și vrei să călătorești pe o altă planetă. Câte din cele X-1 planete rămase pot fi următoarea ta destinație?(X reprezintă numărul de cifre ale lui N).

Date de intrare
Se citește un singur număr natural,N, reprezentând codificarea sistemului solar.

Date de ieșire
Se va afișa răspunsul întrebării din cerință, numărul planetelor pe care se poate deplasa locuitorul planetei 1.

Restricții
0 ≤ N ≤ 10.000.000
Daca N are cel putin doua cifre, prima cifra e diferita de 0
Exemplu
Date de intrare Date de ieșire
22354 2​​

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

int N,oglindit=0,nr=0;

cout<<"Citim codificarea planetelor ";

cin>>N;//citim "codificarea sistemului "

while(N) /*noi vrem sa oglindim numarul N pt ca sa putem avea acces mai usor la prima cifra*/

{

oglindit=oglindit*10+N%10;

N/=10;

}

/*dupa ce am oglindit pe N acum putem sa memoram usor nr primei planete ,iar in continuare trebuie sa aflam daca urmatoarele numere se pot imparte exact la nr primei planete */

int nr_primei_planete=oglindit %10;

cout<<"Afisam oglinditul "<<oglindit<<"\n";

oglindit/=10;

while(oglindit)

{

if(oglindit%10%nr_primei_planete==0 )

{

nr+=1;

}

oglindit=oglindit/10;

}

cout<<"Raspunsul final este "<<nr<<" planete";

}

Explicație:

Sper ca te-am facut sa intelegi .

Am incercat sa iti explic cat mai in detaliu

Spor!

Vezi imaginea Whow