#include <iostream> using namespace std; void Print(int l, int n, int odd) { if ((n + 1) == l) return; if ((odd % 2) == 0) { switch (l % 9) { case 1: cout << "********* *********" << endl; break; case 2: cout << "* ** ** * * ** ** *" << endl; break; case 3: cout << "********* *********" << endl; break; case 4: cout << "*** *** *** ***" << endl; break; case 5: cout << "* * * * * * * *" << endl; break; case 6: cout << "*** *** *** ***" << endl; break; case 7: cout << "********* *********" << endl; break; case 8: cout << "* ** ** * * ** ** *" << endl; break; case 0: cout << "********* *********" << endl; odd += 1; break; } } else if((odd %2) == 1) { switch (l % 9) { case 1: cout << "***************************" << endl; break; case 2: cout << "* ** ** ** ** ** ** ** ** *" << endl; break; case 3: cout << "***************************" << endl; break; case 4: cout << "*** ****** ****** ***" << endl; break; case 5: cout << "* * * ** * * ** * * *" << endl; break; case 6: cout << "*** ****** ****** ***" << endl; break; case 7: cout << "***************************" << endl; break; case 8: cout << "* ** ** ** ** ** ** ** ** *" << endl; break; case 0: cout << "***************************" << endl; odd += 1; break; } } Print(l + 1, n, odd); } int main() { int N; cin >> N; Print(1, N, 1); return 0; }
# include < iostream > # include < vector > using namespace std ; int main ( ) { vector < int > Stick ; Stick . push_back ( 64 ) ; int Target ; cin > > Target ; int Last = 0 ; while ( true ) { if ( Target = = 64 ) break ; int Sum = 0 ; for ( int i = 0 ; i < Stick . size ( ) ; i + + ) Sum + = Stick [ i ] ; if ( Target = = Sum ) break ; else if ( Target < Sum ) { Stick [ Last ] / = 2 ; Sum = 0 ; for ( int i = 0 ; i < Stick . size ( ) ; i + + ) Sum + = Stick [ i ] ; if ( Target < = Sum ) continue ; else Stick . push_back ( Stick [ Last + + ] ) ; } } cout < < Stick . size ( ) ; ...
댓글
댓글 쓰기