Файл с исходным кодом прикреплен в описании (нужно переименовать с 'Program.cs.txt', на просто 'Program.cs'), код продублирован в коментариях к ответу. Если есть вопросы - пиши в коменты.
Код полностью прокоментирован, надеюсь будет понятно.
//PascalABC.NET
//Версия 3.3, сборка 1634
begin
var a:=ReadSeqIntegerWhile(x->x>0).ToArray;
write('Периметр ', a.Count,'-угольник равен ',a.Sum);
end.
1. 1101 = 23*1 + 22*1 + 21*0 + 20<span>*1 = 8 + 4 + 0 + 1 = 13
</span>1010101 = 26*1 + 25*0 + 24*1 + 23*0 + 22*1 + 21*0 + 20<span>*1 = 64 + 0 + 16 + 0 + 4 + 0 + 1 = 85
</span>2. 25 = 81*2 + 80<span>*5 = 16 + 5 = 21
</span>71 = 81*7 + 80<span>*1 = 56 + 1 = 57</span>