3545. 寻找奇特的数

找出所有约数,约数\(x\)所在的第\(x\)行存在一个\(m\)需满足条件:

  • \(x\)不超过\(n\)
  • \(m/x\)不超过\(n\)
int n, m;

int main() {
    int T;
    cin >> T;
    while(T--) {
        cin >> n >> m;

        vector<int> divisor;
        for(int i = 1; i * i <= m; i++)
            if(m % i == 0) {
                divisor.pb(i);
                if(i != m / i)
                    divisor.pb(m / i);
            }

        int res = 0;
        for(auto x : divisor)
            if(x <= n && m / x <= n)
                res++;

        cout << res << endl;
    }

    //system("pause");
    return 0;
}
posted @ 2021-05-23 19:26  Dazzling!  阅读(31)  评论(0编辑  收藏  举报