#include<bits/stdc++.h> using namespace std; int jud(int); int main(){ int n; while(scanf("%d",&n) && n!=0){ cout<<jud(n)<<endl; } return 0; } int jud(int n){ int num[100] = { },op = 0; while(n){ num[op++] = n%2; n/=2; } int fin[100] = { },k = 0; for(int i = 0;i<op;i++){ if(num[i]!=1)num[k++] = num[i]; else{ num[k] = num[i]; break; } } double sum = 0,q = 0; for(int i = 0;i<=k;i++){ sum = sum + pow(2,q) * num[i]; q++; } int u = (int)sum; return u; } |
Double click to view unformatted code.