通过观察发现是所有的奇数和4的倍数,那么如何求从左到右的所有奇数和4的倍数,就是/2再%2和/4,注意l是算在范围里的,所以要l-1
#include<iostream> using namespace std; int main() { int l,r; cin>>l>>r; int a=(l-1)/2+(l-1)%2; int b=r/2+r%2; int c=(l-1)/4; int d=r/4; cout<<b-a+d-c; return 0; }