Первый вызов rand показывает в какие "проценты" попадает следующее число, а потом дергается второй раз rand с нужными границами для получения самого числа, причем границы в зависимости от первого.
Касательно же случайности-неслучайности, rand в вашем случае наверняка не выдает случайной (!!!) последовательности.