Files
test/puzzles/interviews/radley_james/online_test.cpp

141 lines
1.7 KiB
C++

/*
VIM: let g:lcppflags="-std=c++11 -O2 -pthread"
VIM: let g:wcppflags="/O2 /EHsc /DWIN32"
VIM: let g:argv=""
*/
#include <iostream>
#include <stdexcept>
#include <vector>
#include <algorithm>
#include <string>
#include <fstream>
/*
#1 print numbers from 1 to N and if i is 3 mutltiple print "Fizz", if 5 multiple "Buzz".
If both then "FizzBuzz". Otherwise print number.
int N;
std::cin >> N;
for (int i = 1; i <= N; i++)
{
if (!(i % 3))
std::cout << "Fizz";
if (!(i % 5))
std::cout << "Buzz";
if ((i % 3) && (i % 5))
std::cout << i;
std::cout << std::endl;
}
*/
/*
#2 print complement of N.
unsigned int c = 1;
unsigned int b = N;
while (b)
{
b >>= 1;
c <<= 1;
}
return c-1-N;
alternative:
if ( !N )
return 0;
unsigned int b = N;
while ((b&(b-1)))
auto n = b&(b-1);
return (b<<1)-1-N;
*/
/*
#3
char a[] = "";
sizeof(a)?
*/
/*
#4
struct A {
int x;
A(int a) : x(a) {}
A( const A& a ) { x=a.x; x++; }
opertaor = ... { x=a.x; x--; }
};
A a(4);
A b = a;
std::cout << b.x;
3?
4?
5?
*/
/*
#5
struct A {
int u;
int l;
A(int i) : l(i), u(l + 1) {}
};
A a(5);
print a.l a.u
5 6
compilation fail
5 garbage ?
*/
//#6
/*
struct A {
int d;
virtual ~A(){}
};
sizeof(A)? 8 || 16
*/
//#7
/*
conceptual support for function call
system stack
data segment
processor's register
text segment
heap
*/
int main ( void )
{try{
A a(5);
std::cout << a.l << ' ' << a.u ;
char c;
std::cin >> c;
return 0;
}
catch ( const std::exception& e )
{
std::cerr << std::endl
<< "std::exception(\"" << e.what() << "\")." << std::endl;
return 2;
}
catch ( ... )
{
std::cerr << std::endl
<< "unknown exception." << std::endl;
return 1;
}}