#include <cstdio> #include <string> using namespace std; string ch_val( int n ) { if ( n==1 ) return "1"; if ( n&1 || n<=3 ) { return ch_val(n-1)+"+1"; } string a = ch_val( n>>1 ); if ( a.back() != ')' ) a="("+a+")"; return a+"*(1+1)"; } int main() { int t,n; scanf("%d",&t); while ( t-- ) { scanf("%d",&n); printf("%s\n",ch_val(n).c_str()); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <cstdio> #include <string> using namespace std; string ch_val( int n ) { if ( n==1 ) return "1"; if ( n&1 || n<=3 ) { return ch_val(n-1)+"+1"; } string a = ch_val( n>>1 ); if ( a.back() != ')' ) a="("+a+")"; return a+"*(1+1)"; } int main() { int t,n; scanf("%d",&t); while ( t-- ) { scanf("%d",&n); printf("%s\n",ch_val(n).c_str()); } return 0; } |