範例程式碼 uva12627
//uva12627
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
long long red_ballon(int k, int r) {
if (r == 0)
return 0;
if (k == 0)
return 1;
if (r <= pow(2, k - 1))
return 2 * red_ballon(k - 1, r);
else
return 2 * pow(3, k - 1) + red_ballon(k - 1, r - pow(2, k - 1));
}
int main() {
int case_num = 0;
int k = 0, row_a = 0, row_b = 0;
cin >> case_num;
for (int i = 0; i < case_num; i++) {
cin >> k >> row_a >> row_b;
cout << "Case " << i + 1 << ": "
<< red_ballon(k, row_b) - red_ballon(k, row_a - 1) << endl;
}
return 0;
}