// 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