本文共 660 字,大约阅读时间需要 2 分钟。
题目链接:
1 2
2
#include题解看图:typedef long long LL ;LL get_sum(LL x){ if(x <= 0) return 0; LL k = 0 ; LL n = x ; LL sum = 0 ,y; LL r = 1 ; while(x) { k ++ ; r *= 2 ; y = 0 ; LL s = (n + 1) / r ; LL t = (n + 1) % r ; if(t > r/2) y = t - r/2 ; sum += (y + s *(r/2)) ; x >>= 1; } return sum ;}int main(){ LL d,b; while(scanf("%lld%lld",&d,&b)!=EOF) { printf("%lld\n",get_sum(b)-get_sum(d-1)); }}