Напишите программу, которая по введённому натуральному числу N (N≤500) выдаёт наименьшее... Напишите программу, которая по введённому натуральному числу N (N≤500) выдаёт наименьшее число M, произведение цифр которого (в десятичной записи) равно N или 0, если такого M не существует. (Pascal)
// ввод числа N write('Введите натуральное число N: '); readln(N);
// ищем наименьшее число M M := 1; while (M <= 999999) and (not found) do begin product := 1; i := M; while i > 0 do begin product := product * (i mod 10); i := i div 10; end;
if product = N then begin found := true; writeln('Наименьшее число M: ', M); end; M := M + 1;
end;
if not found then writeln('Наименьшего числа M не существует'); end.
program LeastNumber;
var
N, M, i, product: integer;
found: boolean;
begin
found := false;
// ввод числа N
write('Введите натуральное число N: ');
readln(N);
// ищем наименьшее число M
if product = N thenM := 1;
while (M <= 999999) and (not found) do
begin
product := 1;
i := M;
while i > 0 do
begin
product := product * (i mod 10);
i := i div 10;
end;
begin
found := true;
writeln('Наименьшее число M: ', M);
end;
M := M + 1;
end;
if not found then
writeln('Наименьшего числа M не существует');
end.