Найти все натуральные числа, не превышающие данного n, которые делятся на каждую из своих цифр.С логическими переменными — Pascal(Паскаль)

uses crt;
var n,x,a,k:integer;
    f:boolean;
begin
clrscr;
repeat
Write('Введите натуральное число n=');
readln(n);
until n>0;
for x:=1 to n do
 begin
  f:=true;
  a:=x;
  while (a<>0) and f do
   begin
    k:=a mod 10;
    if (k=0)or(x mod k<>0) then f:=false;{на ноль делить нельзя}
    a:=a div 10;
   end;
  if f then write(x,' ');
 end;
readln
end.