Formuła
Weźmy na przykład liczbę 300
- Czynniki pierwsze 300 to
[2, 3, 5](unikalne liczby, które są współczynnikami 300 i liczba pierwsza) - Kwadrat każdej z tych liczb da ci
[4, 9, 25] - Podsumowanie tej listy da ci
4 + 9 + 25 = 38 - Na koniec odejmij tę sumę (38) od oryginalnego numeru
300-38 = 262(to wynik)
Wejście
Wprowadzona liczba będzie dodatnią liczbą całkowitą większą niż 2. Musisz sprawdzić wszystkie liczby od 2 do wartości wejściowej (włącznie) i znaleźć liczbę, która daje najlepszy wynik przy użyciu powyższej formuły.
Wynik
Wynikiem będą dwie liczby oddzielone spacją, przecinkiem, znakiem nowej linii lub czymkolwiek innym językiem, na jaki pozwalasz (separacja jest niezbędna do rozróżnienia dwóch liczb). Można je wyprowadzić do pliku, standardowego wyjścia lub dowolnego innego języka. Twoim celem jest znalezienie liczby w zakresie, który daje maksymalną wydajność, gdy przejdziesz przez powyższą formułę. Pierwsza wyświetlana liczba powinna być liczbą początkową (np. 300), a druga liczba powinna stanowić wynik wygenerowany przez formułę (jak 262)
Przypadki testowe
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
Przepracowano przez przykład
Rozważ wprowadzenie 10, musimy uruchomić formułę dla wszystkich liczb od 2 do 10 (włącznie)
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
Jak widać, najlepszy wynik to 4wynik wprowadzenia wartości 8do formuły. Oznacza to, że wyjście 10powinno mieć wartość wejściową8, 4
Punktacja i zasady
Obowiązują domyślne zasady dla wejść i wyjść: Domyślne dla Code Golf: Metody wejścia / wyjścia
Zabronione są standardowe luki: Luki, które są domyślnie zabronione
Zgłoszenia mogą być funkcjami lub pełnymi programami
Najkrótszy kod w bajtach wygrywa
50: 35, 48?
