用快速幂的方法将每个对应幂压入栈中,符合先入先出的遍历顺序,用栈来辅助递归。
while(!num.empty()) {
if(num.top() == 1) {
cout << 2;
num.pop();
if(!num.empty()) cout << '+';
} else if(num.top() == 0) {
cout << "2(0)";
num.pop();
} else {
cout << "2(";
f(num.top());
cout << ')';
num.pop();
if(!num.empty()) cout << '+';
}
}