я предположил что проблема в round(k)
т.к.
Цитата:
Округление использует банковские правила, где точная половина значения вызывает округление к четному числу
|
и заменил её вот так
Код:
if Frac(k)>0.5 then n2:=k+1-Frac(k)
else if (Frac(k)<0.5) or (Frac(k)=0.5) then n2:=k-Frac(k);
но так ошибка встречается еще раньше, в каком то "4" тесте программы =(