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..
Restricții și precizări
1 ≤ n ≤ 1.000.000.000
Exemplu
odaoni.in
12
odaoni.out
3
Explicație
Numărul 12 are divizorii 1,2,3,4,6,12 iar dintre aceştia numai 1,2,12 au mulţimea cifrelor inclusă în mulţimea cifrelor lui 12.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema odaoni:
#include <fstream>
using namespace std;
ifstream f("odaoni.in");
ofstream g("odaoni.out");
int n,i,x,sol,r,v[10],ok;
int main()
{
f >> n ;
//cifrele lui n
x = n ;
while(x!=0)
{
r = x % 10 ;
v[r] = 1 ;
x = x / 10 ;
}
//divizorii lui n
sol = 0 ;
for( i = 1 ; i * i < n ; i++ )
if( n % i == 0 )
{
x = i ;
ok = 1 ;
while(x!=0)
{
r = x % 10 ;
if ( v[r]==0 ) ok = 0 ;
x = x / 10 ;
}
sol += ok ;
x = n / i ;
ok = 1 ;
while(x!=0)
{
r = x % 10 ;
if ( v[r]==0 ) ok = 0 ;
x = x / 10 ;
}
sol += ok ;
}
if( i * i == n )
{
x = i ;
ok = 1 ;
while(x!=0)
{
r = x % 10 ;
if ( v[r]==0 ) ok = 0 ;
x = x / 10 ;
}
sol += ok ;
}
g << sol ;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa
.
Rezolvarea problemei #2407 odaoni
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2407 odaoni de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!