Напишите программу, которая по введённому натуральному числу N (N≤500) выдаёт наименьшее число M, произведение цифр которого (в десятичной записи) равно N или 0, если такого M не существует. (Pascal)
Ответы
Ответ дал:
0
// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018
// Внимание! Если программа не работает, обновите версию!
begin
var (n, i) := (ReadInteger('N ='), 9);
var st := new Stack<integer>;
if n = 1 then st.Push(1)
else
if n <= 0 then
begin
Println('Требуется натуральное число');
Exit
end;
while (i > 1) and (n <> 1) do
if n mod i = 0 then
begin
st.Push(i);
n := n div i
end
else i -= 1;
Print('M =');
if n > 1 then Print('0')
else st.Println('')
end.
Пример
N = 420
M = 2567
Вас заинтересует
2 года назад
3 года назад
9 лет назад
9 лет назад
10 лет назад