题目链接
示例1
输入
3
15 7
12 12
6 1
输出
2
6
1
说明
第一问,m=15,x=7,显然y=x=7满足。 y=6时,对于k=1,2时kx≤m且ky≤m。 kx>m且ky>m。
可以证明没有其他正整数y与x有关于m的等价关系。
解题思路:
主要是找y值的上下界
可以通过数学式子分析严苛关系
1.当kx<=m时候 k<=m/x
要ky<=m 那么 y<=m/k 即 y<=m/k<=m/(m/x)
2.当kx>m时候 k>m/x
要ky>m 那么 y>m/k 即 y>m/(m+x+1)
#include <iostream>
#define int long long
using namespace std;
void solve()
{
int m,x;
cin>>m>>x;
int ans=0;
for(int i=m/(m/x+1)+1;i<=m/(m/x);i++){
ans++;
}
cout<<ans<<endl;
}
signed main()
{
int _ = 1;
cin>>_;
while(_--)
solve();
}