How to write random?

Revision ru1, by DiIzhan, 2017-10-05 07:50:35

Hi, Codeforces! I usually create a testset founded on rand (), but the range of this function is 10^5. And if I want to generate a big number, I used to write a function like this

llong randomize (llong x) {
	llong res = 1;
	for (llong i = 1; i <= 5; ++ i) {
		res *= rand () * 1LL;
		res %= x;
	} return res % x + 1;
}

but there's high probability of returning 1.

Help me please, how to write random effectively?

P.S. sorry for bad english.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru2 Russian DiIzhan 2017-10-05 07:51:51 86
ru1 Russian DiIzhan 2017-10-05 07:50:35 497 Первая редакция (опубликовано)