Codeforces 221 B. Little Elephant and Numbers
B. Little Elephant and Numbers
time limit per test
2 secondsmemory limit per test
256 megabytesinput
standard inputoutput
standard outputThe Little Elephant loves numbers.
He has a positive integer x. The Little Elephant wants to find the number of positive integers d, such that d is the divisor of x, and x andd have at least one common (the same) digit in their decimal representations.
Help the Little Elephant to find the described number.
Input
A single line contains a single integer x (1 ≤ x ≤ 109).
Output
In a single line print an integer — the answer to the problem.
Examples
input
1
output
1
input
10
output
2
题意:输出是x的因子且与x有相同数字的因子个数
#include<cstdio> #include<cmath> using namespace std; int x,ans; bool v[10]; int main() { scanf("%d",&x); int n=sqrt(x),m=x; while(x) { v[x%10]=true; x/=10; } int k,j,i; for(k=1;k<=n;k++) if(m%k==0) { j=m/k;i=k; while(i) { if(v[i%10]) { ans++; break; } i/=10; } if(j==k) continue; while(j) { if(v[j%10]) { ans++; break; } j/=10; } } printf("%d",ans); }