// UVa 10940 - Throwing cards away II
#include <iostream>
#include <cmath>
using namespace std;
#define integer unsigned long long int
int main() {
integer power[30];
power[0] = 1;
for (int i = 1; i < 30; i++)
power[i] = power[i - 1] << 1;
integer n;
while (cin >> n && n) {
integer ex = (integer) ceil(log(n) / log(2));
integer pw = power[ex];
integer sol = pw - ((pw - n) << 1);
cout << sol << endl;
}
return 0;
}
No comments:
Post a Comment