Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // @eyny@abcde12101
- #include<iostream>
- #include<cstdlib>
- #include<cstdio>
- using namespace std;
- int n;
- int p2n ( int k ) {
- if ( k == 0 )
- return 1;
- else if ( k == 1 )
- return 2;
- else
- {
- int p = p2n ( k / 2 );
- if ( k % 2 )
- return p*p*2;
- else return p*p;
- }
- }
- void prt ( int k )
- {
- switch ( k )
- {
- case 10: printf ( "A" ); break;
- case 11: printf ( "B" ); break;
- case 12: printf ( "C" ); break;
- case 13: printf ( "D" ); break;
- case 14: printf ( "E" ); break;
- case 15: printf ( "F" ); break;
- default: printf ( "%d", k ); break;
- }
- }
- void d2x ( int k, int b, const int& base ) {
- if ( b == 1 )
- prt ( k );
- else
- {
- d2x ( k/base, b-1, base );
- prt ( k%base );
- }
- }
- int main() {
- while ( scanf ( "%d", &n ) != 0 )
- {
- int k = p2n ( n );
- for ( int i = 0; i < k; i++ )
- {
- d2x ( i, n, 2 );
- cout << ' ' << i << " 0X";
- d2x ( i, max ( n/4, 1 ), 16 );
- cout << endl;
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment