// 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
Println('Требуется натуральное число');
Exit
end;
while (i > 1) and (n <> 1) do
if n mod i = 0 then
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
// 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