提交时间:2022-07-29 17:13:05

运行 ID: 54785

#include<bits/stdc++.h> using namespace std; int a; void lowest(int n){ int num[20]={1},ans=1; for(int i=0;i<=19;i++){ num[i]=n%2; n/=2; } for(int i=0;i<=19;i++){ if(num[i]){ for(int j=0;j<i;j++) ans*=2; break; } } cout<<ans; } int main(){ while(1){ cin>>a; if(a==0) break; lowest(a); } return 0; }