Вот так гораздо проще.
var s:string;
begin
readln(s);
writeln(length(s));
end.
Var a,k:integer;
begin
k:=0;
readln(a);
while a<>0 do
begin
if (abs(a) mod 5=0)or(abs(a) mod 9=0)
then k:=k+1;
readln(a);
end;
writeln('k = ',k);
end.
Пример:
15
91
90
0
k = 2
Избыточность<span> — термин из </span>теории информации<span>, означающий превышение </span>количества информации<span>, используемой для передачи или хранения сообщения, над его </span>информационной энтропией<span>. Для уменьшения избыточности применяется </span>сжатие данных без потерь<span>, в то же время </span>контрольная сумма<span> применяется для внесения дополнительной избыточности в поток, что позволяет производить исправление ошибок при передаче информации по каналам, вносящим искажения (спутниковая трансляция, беспроводная передача
</span>