Если вы посмотрите на определение numbers(), вы увидите как раз то, что хотите: сначала i = 0, затем вычисляется elem = number(i), если elem = 0, то процесс прекращается, иначе следующим членом становится elem, который и есть number(i), а i увеличивается на 1.