http://oj.tsinsen.com/A1116###
分析:可以递归的按位来做..普及组的一道简单题,随便弄一弄就好了
代码:
#include "bits/stdc++.h"
using namespace std;
void BitsDiv(int n) {
int out = 0;
for (int i = 15; i >= 0; --i)
if ((n >> i) & 1) {
if (!out) out = 1;
else putchar('+');
if (i <= 0) printf("2(0)");
else if (i <= 1) printf("2");
else { printf("2("); BitsDiv(i); printf(")"); }
}
}
int main() {
int n;
scanf("%d", &n);
BitsDiv(n);
return 0;
}