原题传送门
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a == b)
{
cout << "infinity" << endl;
return 0;
}
if (a < b)
{
cout << 0 << endl;
return 0;
}
int cnt = 0;
for (int i = 1; i <= sqrt(a - b); i++)
{
if ((a - b) % i == 0 && (a - b) / i > b)
{
cnt++;
}
if ((a - b) % i == 0 && i*i != (a - b) && i > b)
{
cnt++;
}
}
cout << cnt << endl;
}
题意为求(a-b)的大于b的因数个数