• Напишите программу, которая по введённому натуральному числу N (N≤500) выдаёт наименьшее число M, произведение цифр которого (в десятичной записи) равно N или 0, если такого M не существует. (Pascal)

Ответы 1

  • // 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

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years