// вот тебе решение на паскале, в си сам переделывай
function Check(n: integer): boolean;
begin
result := true;
var T := n;
while T > 0 do
begin
if T mod 10 = 0 then //проверка цифры на ноль
begin
T := T div 10;
continue;
end;
if n mod (T mod 10) = 0 then
T := T div 10
else
begin
result := false;
exit;
end;
end;
end;
begin
var N := ReadlnInteger('N =');
for var i := 1 to N do
if Check(i) then Print(i);
end.