提交时间:2024-08-20 15:53:34

运行 ID: 169240

#include<bits/stdc++.h> using namespace std; int arr[1000005]; bool f(int n,int m){ int cnt=0; while(n>0){ arr[++cnt]=n%2; n/=2; } int sum=0; for(int i=cnt;i>0;i--){ if(arr[i]==1) sum++; } if(sum>m) return false; return true; } int main(){ int n,a,b,sum=0; cin>>n>>a>>b; for(int i=a;i<=b;i++){ if(f(i,n)==true){ sum++; } } cout<<sum; }