我的一开始的题解博客题解
由于洛谷和CSDN公式转换有点麻烦,故我直接在这里给出代码
题解1:
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
int t;
cin>>t;
while(t--){
int n,m,ans=0;
cin>>n>>m;
for(int i=1;i<=n+1;i++){
int cur=(int)((1+sqrt(1+4*n*i))*1.0/(2*i*1.0));//比赛时求根公式记错了,还多WA了一次
ans+=min(cur,m);
if(i==1)ans--;
}
cout<<ans<<endl;
}
}
题解2:
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
int t;
cin>>t;
while(t--){
int n,m,ans=0;
cin>>n>>m;
ans+=n;
for(int i=2;i<=m;i++)ans+=(n+i)/(i*i);
cout<<ans<<endl;
}
}