Формула
Возьмите, например, число 300
- Основные факторы 300
[2, 3, 5]
(уникальные числа, которые являются факторами 300 и простые) - Квадрат каждого из этих чисел даст вам
[4, 9, 25]
- Суммирование этого списка даст вам
4 + 9 + 25 = 38
- Наконец, вычтите эту сумму (38) из вашего исходного числа
300-38 = 262
(это результат)
вход
Ваш ввод будет положительным целым числом больше 2. Вы должны проверить все числа от 2 до входного значения (включительно) и найти число, которое дает наибольший результат с формулой выше.
Выход
Ваш вывод будет двумя числами, разделенными пробелом, запятой, переводом строки или чем-то, что позволяет ваш язык (разделение необходимо для различения двух чисел). Они могут быть выведены в файл, стандартный вывод или на любой другой язык. Ваша цель состоит в том, чтобы найти число в диапазоне, которое дает максимальный выход при выполнении по формуле выше. Первое отображаемое число должно быть начальным числом (например, 300), а второе число должно быть выводом, полученным по формуле (например, 262).
Тестовые случаи
Input: 3 Output: 2, -2
Input: 10 Output: 8, 4
Input: 50 Output: 48, 35
Input: 1000 Output: 1000, 971
Input: 9999 Output: 9984, 9802
Проработанный пример
Рассмотрим ввод 10, мы должны запустить формулу для всех чисел от 2-10 (включительно)
Num PrimeFacs PrimeFacs^2 SumPrimeFacs^2 Result
2 [2] [4] 4 -2
3 [3] [9] 9 -6
4 [2] [4] 4 0
5 [5] [25] 25 -20
6 [2, 3] [4, 9] 13 -7
7 [7] [49] 49 -42
8 [2] [4] 4 4
9 [3] [9] 9 0
10 [2, 5] [4, 25] 29 -19
Как вы можете видеть, наибольший результат 4
, который был результатом ввода значения 8
в формулу. Это означает, что вывод для ввода 10
должен быть8, 4
Оценка и правила
Применяются правила по умолчанию для входов и выходов: по умолчанию для Code Golf: методы ввода / вывода
. Стандартные лазейки запрещены: лазейки , которые запрещены по умолчанию.
Представления могут быть функциями или полными программами.
Самый короткий код в байтах выигрывает
50
: 35, 48
?