- , ( ):
std::cout << ((rand()%5==0) ? 2 :
(rand()%4==0) ? 5 :
(rand()%3==0) ? 22 :
(rand()%2==0) ? 55 :
332
) << std::endl;
, .
Ah, , ( , rand() ) , " " .
, for , . . : , , for(...), . , , " " -, . :
#define CHUNK ((((unsigned int)RAND_MAX) + 1) / 5)
for (unsigned int n = 5*CHUNK; n >= 5*CHUNK;)
((n = rand()) < CHUNK) ? std::cout << 2 << "\n" :
(n < 2*CHUNK) ? std::cout << 5 << "\n" :
(n < 3*CHUNK) ? std::cout << 22 << "\n" :
(n < 4*CHUNK) ? std::cout << 55 << "\n" :
(n < 5*CHUNK) ? std::cout << 332 << "\n" :
(void)0;
, , , srand(). , . :
for (unsigned int n = (srand((time(0) % UINT_MAX)), 5*CHUNK); n >= 5*CHUNK;)
, .