描述
Given x , print the left-most decimal digit of f(x) with sign.
if x is a odd number then f(x) = (-1) * ( 2 ^ x ) ,
Otherwise f(x) = 2 ^ x .
note : 2 ^ x means, xth power of 2.
输入
Input starts with an integer T (1<=1000), denoting the number of test cases. Each case contains an integer x (1 ≤ x ≤ 60) .
输出
For each case of input, output the left-most decimal digit of f(x).
输入样例 1
3
1
2
10
输出样例 1
-2
+4
+1
来源
Dev skill
代码(类型转换)
#include <iostream>
#include <cmath>
#include <string>
#include <sstream>
using namespace std;
int main(){
int t;
long long x;
string res;
stringstream sstr;
cin >> t;
while(t--){
cin >> x;
if(x % 2 == 1) x = -pow(2, x);
else x = pow(2, x);
sstr << x;
sstr >> res;
if(x > 0){
cout << "+" + res.substr(0, 1) << endl;
sstr.clear();
}
else{
cout << res.substr(0, 2) << endl;
sstr.clear();
}
}
return 0;
}