Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 37 стр.

UptoLike

37
Для решения этой задачи требуется проверить все возможные делители
числа, начиная с 2. Пусть i очередной делитель числа k. Далее ищем
делители числа k/i до тех пор, пока делимое не станет равным 1. Каждый
делитель может встречаться в произведении несколько раз. Поэтому, не
изменяем делитель до тех пор, пока не получим число, которое на него не
делится. Заметим, что не требуется проверять делители на “простоту”,
поскольку составные делители уже вошли в произведение в виде их
разложения на простые множители.
Блок-схема показана на Рис.3.7.
Рис.3.7. Блок-схема решения задачи о разложении
числа на простые множители.
Код программы для задачи 6.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
    Для решения этой задачи требуется проверить все возможные делители
числа, начиная с 2. Пусть i – очередной делитель числа k. Далее ищем
делители числа k/i до тех пор, пока делимое не станет равным 1. Каждый
делитель может встречаться в произведении несколько раз. Поэтому, не
изменяем делитель до тех пор, пока не получим число, которое на него не
делится. Заметим, что не требуется проверять делители на “простоту”,
поскольку составные делители уже вошли в произведение в виде их
разложения на простые множители.
    Блок-схема показана на Рис.3.7.




               Рис.3.7. Блок-схема решения задачи о разложении
                          числа на простые множители.

   Код программы для задачи 6.
   using System;

   namespace Examples
   {
       class Program1
       {
           static void Main(string[] args)
           {
                                       37