Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2012, 21:55   #1
blessedness777
Новичок
Джуниор
 
Регистрация: 12.11.2012
Сообщений: 2
По умолчанию как разложить на множители ?

здравствуйте, начинаю только изучать с#, столкнулся с такой задачкой, подскажите пожалуйста! заранее благодарен!

Цитата:
Дано натуральное число n.
Напечатать разложение этого числа на простые множители, чтобы каждый простой множитель был напечатан один раз
blessedness777 вне форума Ответить с цитированием
Старый 13.11.2012, 10:03   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это вопрос не по языку программирования. Вы должны сначала представлять алгоритм, то есть как это сделать в общем случае. А затем переложить алгоритм на нужный Вам язык программирования.
Вот немного матана для этих целей:
http://oldskola1.narod.ru/Shev01/ArifSh0108.htm
http://www.kakprosto.ru/tag/mnozhitel
http://uztest.ru/abstracts/?idabstract=165559
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.11.2012, 13:08   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ладно, будем считать, что я Вам оказываю "медвежью" услугу, публикуя готовый код (и тем самым лишая Вас удовольствия разобраться в этой простой задаче и написать решение самостоятельно!)

пробуйте:
Код:
    class Program
    {
        static bool IsPrime(int x)
        {
           if (x<2) return false;
           if (((x % 2) == 0) && (x!=2)) // проверяем на чётность  
              return false;

           int i = 3;
           while (i <= Math.Truncate(Math.Sqrt(x)))  // проверяем только нечётные 
           {
               if ((x % i) == 0) return false;
               i += 2;
           }
           return true;
        }

        static void Main(string[] args)
        {
            int N = Int32.Parse(Console.ReadLine());
            for (int i = 2; i < N; i++)
            {
                if ( IsPrime(i) && ((N % i) == 0) )
                    Console.Write("{0} ", i);
            }
            Console.WriteLine();

            Console.WriteLine("\n   Press any key to exit.... ");
            Console.ReadKey();

        }
    }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2012, 19:07   #4
blessedness777
Новичок
Джуниор
 
Регистрация: 12.11.2012
Сообщений: 2
По умолчанию

всем спасибо кто откликнулся
blessedness777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в C++ разложить числа на простые множители? BESTолочь Помощь студентам 11 16.04.2018 10:37
Как разложить число на 2 составных? oleeg Помощь студентам 2 24.03.2010 23:28
Как разложить число на цифры ( задача ) neo-210 Помощь студентам 6 11.12.2009 22:37
разложить число на простые множители и вывести результат pakusya Паскаль, Turbo Pascal, PascalABC.NET 6 15.11.2008 03:07