как найти сумму всех простых делителей числа БЕЗ массива?
как найти сумму всех простых делителей числа БЕЗ массива? java
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
если нет требований к скорости алгоритма, то можно сделать следующее:
определяем максимальное число, до которого могут быть делители числа N - оно равно
M = sqrt(N)(привет решету Эратосфена)делаем цикл I от 2 до М
если число N делится на I, то
N = N / I
SUM = SUM + I
повторяем этап 2) до тех пор пока N не будет равно 1
SUM = SUM + 1(вообще 1 не является простым числом, но иногда его считают)если на этапе 2) не было найдено ни одного делителя, значит число простое и
SUM = 1 + N
Немного оптимизации:
- если на этапе 2) был найден делитель
I, но новый этап 2) надо начинать не с 2, а сI