Почему задачу нужно решать без использования строк - понятно, а почему нельзя использовать тип boolean - загадка. С учетом пожеланий программа может быть такой: var n,k:integer; begin write('n=');readln(n); k:=0; while n>0 do begin if (n mod 10=2)or(n mod 10=5) then k:=1; n:=n div 10; end; if k=0 then writeln('В числе нет 2 и 5') else writeln('В числе есть 2 и/или 5'); end.
var n,k:integer;
begin
write('n=');readln(n);
k:=0;
while n>0 do
begin
if (n mod 10=2)or(n mod 10=5) then k:=1;
n:=n div 10;
end;
if k=0 then writeln('В числе нет 2 и 5')
else writeln('В числе есть 2 и/или 5');
end.