Разложение натурального числа на простые множители

Тема: 
Циклы

Пользователь вводит число. Необходимо разложить его на простые числа.

Так как в КуМир есть только команда "выход" (аналог break) и нет команд-аналогов для continue и goto, то программа будет выглядеть немного сложнее, чем она была бы при их наличии.

Внешний цикл будет продолжаться до тех пор, пока исходное число не будет в результате деления на простые сомножители сведено к 1.

Внутренний цикл будет бесконечный. Выход из него будет осуществляться по команде "выход", когда найден очередной простой делитель.

Когда простой делитель найден, надо как-то "сообщить", что при новом выполнении этого внутреннего цикла поиск простых делителей надо начинать сначала. Для этого используется флаговая переменая (в данном случае "ф").

Сам алгоритм поиска простых делителей сводится к последовательному делению исходного числа на подряд идущие натуральные числа от 2. Первое число, на которое нацело делится исходное, и есть его очередной простой сомножитель.

алг простые сомножители 
нач
  цел ч, п, ф
  ввод ч
  ф := 1
  нц пока ч > 1 
    нц пока да
      если ф = 1 то
        п := 2
        ф := 0
      все
      если mod(ч,п) = 0 то 
        ч := div(ч,п)
        вывод п, " "
        ф := 1
        выход
       иначе
        п := п + 1
      все
    кц
  кц
кон

Пример работы программы

85
5 17