Решите задачу 1:

Разложить число 111. 025. 561 на простые множители, сложите простые множители и прибавьте 1и ещё одну сумму простых множителей, полученный результат возведите в квадрат. Использовать только
10 - разрядный калькулятор, ручку и бумагу и таблицы простых чисел. Не использовать программные алгоритмы. А разложение на множители осуществлять на бумаге или на калькуляторе, вводя данные в ручную. Цель оптимизировать алгоритм разложения на простые множители. Сам я с этой проблемой в одиночку очень долго прокопаюсь. Благодарю за внимание.
7 года назад от Михаил Шубин

1 ответ

0 голосов
Нахождение ряда простых чисел является достаточно трудоёмким. А уж разложение на множители дофига огромного числа - подавно.

Нету смысла даже пытаться что либо оптимизировать, так как в целом глобальной оптимизации не подаётся (то есть найти формулу, позволяющую это сделать не получится) . Оптимизация возможна только локальная.

В случае оптимизации стоило бы начать с описания признаков делимости на все простые числа в промежутке от 1 до n^ (1/2) , где n - это самое большое из чисел, которое нам может понадобиться раскладывать на множители. Потом запомнить эти признаки (и ряд простых чисел) , а потом просто проверять по признакам на делимость и если делится - делить и приступать к поиску следующего множителя
7 года назад от Алёнка Секретик

Связанные вопросы

2 ответов
2 недель назад от Александр Максимов
1 ответ
6 года назад от Аслан Манкиев