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
Răspunsuri la întrebare
Răspuns de
3
#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;
}
arkavas:
Multumesc!
Alte întrebări interesante
Engleza,
8 ani în urmă
Studii sociale,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă