Zainspirowany tym pytaniem dotyczącym matematyki.
Pozwól na czynniki pierwsze liczbę, n , są reprezentowane P (n) = 2 x 3 b X5 c X ... .
(Przy użyciu X jako symbol mnożenia).
Następnie ilość dzielników n może być przedstawiony jako D (n) = (a + 1) x (b + 1) x (C + 1) ... .
Możemy zatem łatwo powiedzieć, że liczba dzielników 2n wynosi D (2n) = (a + 2) x (b + 1) x (c + 1) ... ,
liczba dzielników 3n to D (3n ) = (a + 1) x (b + 2) x (C + 1), ... ,
i tak dalej.
Wyzwanie:
Napisz program lub funkcję, która używa tych właściwości do obliczania n , biorąc pod uwagę pewne dane wejściowe dzielnika.
Wejście:
Zestaw liczb całkowitych, nazwijmy je w, x, y, z , ze wszystkimi następującymi definicjami:
- wszystkie dane wejściowe są większe niż 1 -
w, x, y, z > 1
- x i z różnią -
x<>z
- x i z są podstawowym -
P(x)=x
,D(x)=2
iP(z)=z
,D(z)=2
- w jest liczbą dzielników xn -
D(xn)=w
- y jest liczbą dzielników zn -
D(zn)=y
Przykładem może być problem podany w połączonym pytaniu (28, 2, 30, 3)
. To przekłada się na D(2n)=28
i D(3n)=30
, z n=864
.
Wynik:
Pojedyncza liczba całkowita n , która spełnia powyższe definicje i ograniczenia wejściowe. Jeśli wiele liczb pasuje do definicji, wypisz najmniejszą. Jeśli taka liczba całkowita nie jest możliwa, wypisz wartość falsey .
Przykłady:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
Zasady:
- Obowiązują standardowe zasady gry w golfa i ograniczenia luk .
- Obowiązują standardowe zasady wejścia / wyjścia .
- Numery wejściowe mogą być w dowolnej kolejności - w odpowiedzi określ, której kolejności używasz.
- Liczby wejściowe mogą być w dowolnym odpowiednim formacie: rozdzielone spacjami, tablicą, oddzielnymi argumentami funkcji lub wiersza poleceń itp. - do wyboru.
- Podobnie, jeśli dane wyjściowe do STDOUT, otaczające białe znaki, końcowe znaki nowej linii itp. Są opcjonalne.
- Analiza wejściowa i formatowanie wyjściowe nie są interesującymi cechami tego wyzwania.
- W trosce o rozsądną złożoność i przepełnienie liczb całkowitych liczba wyzwań n będzie miała takie ograniczenia, że
1 < n < 100000
- tzn. Nie będziesz musiał się martwić o możliwe odpowiedzi poza tym zakresem.
Związane z
źródło
Odpowiedzi:
Galaretka ,
1716 bajtówJest to rozwiązanie brutalnej siły, które wypróbowuje wszystkie możliwe wartości do 100 000. Wypróbuj online!
Wersja niekonkurująca
Najnowsza wersja Jelly ma poprawkę błędu, która pozwala na obniżenie powyższego kodu do 15 bajtów .
Wypróbuj online!
Jak to działa
źródło