Відповідь:
r = lambda n: sum([float(i)/n for i in range(n+1)])
Пояснення:
В цикле но через range(n+1)!
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (n,k):=(ReadInteger,0);
while n>0 do (n,k):=(n div 10,k+1);
Writeln(k)
end.
<span>Если это задача то за 44 секунды. </span>
<span>Если практика, то скорость нестабильная, так что может и за 38 а может и за 60.</span>
После write попробуй поставить read.