Предмет: Информатика,
автор: Yollirame
Напишите программу, которая по введённому натуральному числу 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
Похожие вопросы
Предмет: Математика,
автор: mcpto3
Предмет: Геометрия,
автор: versache36
Предмет: Русский язык,
автор: Аноним
Предмет: Биология,
автор: kamilafarkhodova
Предмет: История,
автор: bilchenkofedya