链接:
https://www.nowcoder.com/acm/contest/67/I
来源:牛客网
来源:牛客网
题目描述
lulu喜欢小于等于1000的正整数,但是如果某个数是a或b的倍数,lulu会讨厌这个数。如果某个数里包含了a和b两个数里包含的数,lulu也会讨厌。(例如a=14,b=23,如果数字中包含1、2、3、4这四个数中的任意一个数,lulu就会讨厌这个数)。现在告诉你a,b,你能说出lulu喜欢的数有多少个么。
输入描述:
第一行是样例数T 第2到2+T-1行每行有2个整数a b。
输出描述:
输出lulu喜欢的数的个数
代码如下:
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<set>//STL
#include<map>
#include<cstring>
using namespace std;
bool book[12];
int a,b;
void init(){
memset(book,0,sizeof(book));
int n = a;
while(n > 0){
book[n%10] = 1;
n /= 10;
}
n = b;
while(n > 0){
book[n%10] = 1;
n /= 10;
}
}
bool ok(int x){
if(x % a == 0 || x % b == 0)
return false;
int n = x;
while(n > 0){
if(book[n%10] == 1)
return false;
n /= 10;
}
return true;
}
int main(void){
int T;
cin >> T;
while(T--){
cin >> a >> b;
init();
int res = 0;
for(int i=1;i<=1000;++i){
if(ok(i)){
res++;
}
}
cout << res << endl;
}
return 0;
}