P9611 题解
一眼数论题。
观察到数据范围是
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll l,r,L,R,ans=0;
scanf("%lld%lld",&l,&r);
for(ll i=1;i*i<=r;i++) if(i*i>=l) ans--;
for(ll i=1;i*i<=r;i++){
l=max(l,i*i);
L=(l+i-1)/i;
R=r/i;
if(L<=R) ans+=(R-L+1)<<1;
}
printf("%lld",ans);
return 0;
}