где же 1, когда в приведенном коде с 0.
А чтоб не было смещения перед циклом нужно добавить
list.Add(0);
или вообще массив для результата использовать