Input
輸入兩個整數a,b(1<=a<=b<=10^15)
Output
輸出一個整數,表示從a到b的所有數字流行度之和。
Sample Input
1 80
Sample Output
107
可以選擇遍歷出小於等於該數字的所有情況後,相減就行了,然而vjudge上要用I64%d。。。
#include<cstdio>
#define ll long long
ll f(ll n){
ll i,sum=0;
for(i=1;i<=n;i++){ll t=n/(i*i)-i+1;if(t<=0)break;sum+=t;}
return sum;
}
int main(){
ll a,b;
while(~scanf("%I64d%I64d",&a,&b))
printf("%I64d\n",f(b)-f(a-1));
}