描述:
小明组织了一场抽奖游戏,他给每个参加抽奖的人都发放了一张写有幸运数字的卡片,之后,他会用一套系统随机抽出一些中奖数字,中奖数字为任意幸运数字因数的人将获得奖品。现在,他想知道,一共有多少人将会获得奖品。
输入:
第一行一个整数 n�,表示参加抽奖的人数,题目保证 1≤n≤1051≤�≤105。
第二行 n� 个整数 a1,a2,⋯,an�1,�2,⋯,��,表示每个人的幸运数字 a�,题目保证 1≤a≤1091≤�≤109。
第三行一个整数 m�,表示系统将要抽出的中奖数字个数,题目保证 1≤m≤1021≤�≤102。
接下来 m� 行,每行一个整数 b1,b2,⋯,bn�1,�2,⋯,��,表示系统抽出的每个中奖数字 b�,题目保证 1≤b≤1091≤�≤109。
输出:
输出一行,共一个整数,表示总获奖人数。
样例输入:
6 6 1 2 3 4 6 2 3 4
样例输出:
4
样例输入:
5 14 17 12 97 40 2 4 3
样例输出:
2
#include<stdio.h>
int main(){
int n;
scanf("%d\n",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int c[n]={0}; //判断是否以及成功访问过
int m;
scanf("%d\n",&m);
int b[m];
for(int i=0;i<m;i++){
scanf("%d",&b[i]);
}
int count=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if((a[j]%b[i]==0)&&(c[j]==0)){ //是数字因数且没有成功访问过
c[j]=1;
count++;
}
}
}
printf("%d",count);
return 0;
}