欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[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;
}
相关标签: HackerRank