题目
解法
C++
#include<bits/stdc++.h>
using namespace std;
int num[10]={0};
bool help(int i){
while(i/10){
if(num[i%10])return true;
i /=10;
}
if(num[i])return true;
return false;
}
int main(){
int n;
cin>>n;
int temp = n;
while(temp/10){
num[temp%10] =1;
temp /= 10;
}
num[temp] =1;
int count =0;
int x = sqrt(n);
for(int i=1;i<=x;i++){
if(n%i == 0){
if(i*i == n)
if(help(i))count++;
else{
if(help(i))count++;
if(help(n/i))count++;
}
}
}
cout<<count;
return 0;
}