Răspuns :
#include <bits/stdc++.h>
using namespace std;
ifstream f("odaoni.in");
ofstream g("odaoni.out");
int n,i,x,sol,r,v[10],ok;
int main()
{
f >> n ;
x = n ;
while(x!=0)
{
r = x % 10 ;
v[r] = 1 ;
x = x / 10 ;
}
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;
}
#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;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile v-au fost de ajutor. Dacă aveți întrebări suplimentare sau aveți nevoie de asistență, nu ezitați să ne contactați. Revenirea dumneavoastră ne-ar onora, așa că nu uitați să ne adăugați la favorite!