题目描述
问题描述
由键盘输入正整数N(N≤500)和K(K≤9),请找一个正整数M,使N×M的值仅由0~K组成,而且0~K的每个数字至少出现一次。
编程序在1~30000范围内找出符合条件的最小的M值,如果找不到,则输出“No find!”。
输入
输入2个整数,整数之间用一个空格隔开
输出
输出M的值
样例输入
65 3
样例输出
48
#include<iostream>
using namespace std;
int a[10]={0};
bool abc(int k)
{
int i;
for(i=0;i<=k;i++)
if(a[i]==0)
return false;
return true;
}
int main()
{
int n,k,i,sum,t;
cin>>n>>k;
for(i=1;i<=30000;i++)
{
sum=n*i;
while(sum!=0)
{
a[sum%10]+=1;
sum/=10;
}
if(abc(k))
{
cout<<i<<endl;
break;
}
for(t=0;t<=9;t++)
a[t]=0;
}
if(i==30001)
cout<<"No find!"<<endl;
return 0;
}