题意:
输入n,m
求满足1 <= x <= n; 而且(x , n)(即x和n的最大公约数)>= m的所有x的总数
代码:
过了测试样例,但是超时了
#include<iostream>
#include<cmath>
using namespace std;
int mygcd(int n, int m) {
int max = 1;
for (int i = 1; i <= m; ++i) {
if (n % i == 0 && m % i == 0)
max = i;
}
return max;
}
int main() {
int t;
cin >> t;
int n, m;
while (t--) {
cin >> n >> m;
int count = 0;
for (int i = m; i <= n; ++i) {
if (mygcd(i, n) >= m) count++;
}
cout << count << endl;
}
return 0;
}