[HackerRank]:Between Two Sets
程序员文章站
2022-04-03 08:14:43
...
给定两个整形vector容器,计算符合下面两个要求的元素的数量:
1、第一个数组中每个元素都是元素的因子
2、第二个数组中每个元素能被这个元素整除
函数形参:
a:一个整形数组
b:一个整形数组
限制条件:
1、每个数组的元素不超过10个
2、每个数组的元素的值为1~100
输出:
返回一个int数,代表符合要求的元素数量。
int getTotalX(vector<int> a, vector<int> b) {
int count = 0;
sort(b.begin(), b.end());
for (int i = 1; i <= b[0]; ++i)
{
bool flag = true;
for (const int &temp : a)
{
double div_a = i, div_b = temp, res;
res = div_a/div_b;
if (res != (double)(i/temp)) flag = false;
}
if (!flag) continue;
for (const int &temp : b)
{
double div_a = temp, div_b = i, res;
res = div_a/div_b;
if (res != (double)(temp/i)) flag = false;
}
if (!flag)
continue;
else
{
++count;
}
}
return count;
}