// вот тебе решение на паскале, в си сам переделывай 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.
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.