#include <iostream> void printString( long int _i_value ) { int ind = 0; char c_out[500] = { 0 }; long int i_counter(0); long int i_factor; long int i_value = _i_value; while( i_value > 1 ) { i_factor = 2; while ( i_value % i_factor && i_factor <= ( i_value / 2 ) ) ++i_factor; if ( i_factor > ( i_value / 2 ) ) i_factor = i_value; i_counter += i_factor; if ( i_counter > 100 ) { std::cout << "NIE" << std::endl; return; } i_value /= i_factor; { //add * if already something inside if ( ind ) c_out[ ind++ ] = '*'; //star this loop c_out[ ind++ ] = '('; for ( long int i = 0; i < i_factor; ++i ) { //add plus if not first nmber if ( i ) c_out[ ind++ ] = '+'; //add one c_out[ ind++ ] = '1'; } //end this loop c_out[ ind++ ] = ')'; } } std::cout << c_out << std::endl; return; }; int main(void) { srand(0); std::ios_base::sync_with_stdio(0); long int t; long int k; std::cin >> t; for ( long int i = 0; i < t; ++i ) { std::cin >> k; printString( k ); } 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include <iostream> void printString( long int _i_value ) { int ind = 0; char c_out[500] = { 0 }; long int i_counter(0); long int i_factor; long int i_value = _i_value; while( i_value > 1 ) { i_factor = 2; while ( i_value % i_factor && i_factor <= ( i_value / 2 ) ) ++i_factor; if ( i_factor > ( i_value / 2 ) ) i_factor = i_value; i_counter += i_factor; if ( i_counter > 100 ) { std::cout << "NIE" << std::endl; return; } i_value /= i_factor; { //add * if already something inside if ( ind ) c_out[ ind++ ] = '*'; //star this loop c_out[ ind++ ] = '('; for ( long int i = 0; i < i_factor; ++i ) { //add plus if not first nmber if ( i ) c_out[ ind++ ] = '+'; //add one c_out[ ind++ ] = '1'; } //end this loop c_out[ ind++ ] = ')'; } } std::cout << c_out << std::endl; return; }; int main(void) { srand(0); std::ios_base::sync_with_stdio(0); long int t; long int k; std::cin >> t; for ( long int i = 0; i < t; ++i ) { std::cin >> k; printString( k ); } return 0; }; |