【分解因子】The Little Elephant loves numbers.

The 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 and d 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


#include<iostream>
using namespace std;
bool arr[10];
int ans=0;
void ces(int c)
{
	while(c)
	{
		if(arr[c%10]==true) {ans++;return;}
		c/=10;
	}
}
int main()
{
	int n=0;
	cin>>n;
	int x=n;
	while(x)
	{
		arr[x%10]=true;
		x/=10;
	}
	if(n==1) cout<<'1'<<endl;
	else 
	{
		for(int i=1;i*i <= n;i++)
		{
			if(n%i==0) 
			{
				ces(i);
				if(n/i!=i) 
				{
					ces(n/i);
				}
			}
		}
		cout<<ans<<endl;
	}
}

猜你喜欢

转载自blog.csdn.net/u011590573/article/details/80030676