Предмет: Информатика,
автор: katana7852
Найти все натуральные числа, не превышающие заданного n и делятся на каждую из своих цифр (в десятичной системе счисления)
на языке - C
Ответы
Автор ответа:
0
// вот тебе решение на паскале, в си сам переделывай
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.
Похожие вопросы
Предмет: Математика,
автор: varazueva8
Предмет: Химия,
автор: dianaprokofjeva
Предмет: География,
автор: zaira0697
Предмет: История,
автор: Ритка143
Предмет: Математика,
автор: Антон33849