View Code of Problem 3700

#include <cstdio>
#include <iostream>
#include <vector>
#include <cstring> 
#include <stack>
#include <cmath>
using namespace std;


int main(){
	int n;
	while(cin>>n){
		if(n==0)
		  break;
		vector<int> ve;
		while(n!=0){
			ve.push_back(n%2);
			n=n/2;
		}
		int len=ve.size();
		int res=0;
		for(int i=0;i<len;i++){
			res+=ve[i]*pow(2,i);
			if(ve[i]==1){
				break;
			}
		}
		cout<<res<<endl;
	}
	
	return 0;
}

Double click to view unformatted code.


Back to problem 3700