👤

Dorel
a primit de ziua lui un tricou pe care era scris numărul n.

Cerința
Aflaţi câţi divizori ai lui n au mulţimea cifrelor din scrierea lor inclusă în mulţimea cifrelor din scrierea lui n.

Date de intrare
Fișierul de intrare odaoni.in conține pe prima linie numărul n.

Date de ieșire
Fișierul de ieșire odaoni.out va conține pe prima linie numărul divizorilor lui n care au mulţimea cifrelor din scrierea lor inclusă în mulţimea cifrelor din scrierea lui n..


Răspuns :

Răspuns:

#include <bits/stdc++.h>

using namespace std;

ifstream fin("odaoni.in");

ofstream fout("odaoni.out");

int n, cf[10], d, aux, nrdiv=1;

int multimecifre(int nr)

{

   while(nr)

   {

       if(cf[nr%10]==0)

           return 0;

       nr/=10;

   }

   return 1;

}

int main()

{

   fin>>n;

   aux=n;

   while(aux)

   {

       cf[aux%10]++;

       aux/=10;

   }

   if(cf[1])

       nrdiv++;

    for(d=2; d*d<n;d++)

       if(n%d==0)

       {

           if(multimecifre(d))

               nrdiv++;

           if(multimecifre(n/d))

               nrdiv++;

       }

   if(d*d==n)

       if(multimecifre(d))

           nrdiv++;

   fout<<nrdiv;

   return 0;

}

Explicație:

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari