#include <string.h> #include<iostream> #include<stdio.h> #include<vector> #include<queue> #include <algorithm> #include<math.h> #define INF 1<<30 using namespace std; void print(int n){ if(n==0) { return;} else if(n==1) {cout<<"2(0)"; return;} else if(n==2) {cout<<"2"; return;} else if(n==3) {cout<<"2+2(0)";return;} int i; for(i=0;pow(2,i)<=n;i++); cout<<"2("; print(i-1); cout<<")"; if(n-pow(2,i-1)>0){ cout<<"+"; print(n-pow(2,i-1)); } } int main() { int n; cin>>n; print(n); return 0; }
原文:https://www.cnblogs.com/zdl2234/p/10386560.html