Nie mylić z Znajdź silnię!
Wprowadzenie
Silnia liczby całkowitej n
można obliczyć przez
Jest to stosunkowo łatwe i nic nowego. Jednak silnie można rozszerzyć do podwójnych silni , tak że
Podsumowując:
Wyzwanie
Napisz funkcję, która obliczy każdy rodzaj powtarzanej silni dla dowolnej nieujemnej liczby całkowitej.
Wkład
Zarówno
- Ciąg zawierający nieujemną liczbę całkowitą dziesiętną, po której następuje 1 lub więcej wykrzykników. Np
"6!"
lub"9!!"
lub"40!!!!!!!!!!!!!!!!!!!!"
.
lub
- Te same wartości reprezentowane przez dwie liczby całkowite: jedną nieujemną wartość bazową i jedną wartość dodatnią reprezentującą liczbę czynnikową. Można to zrobić zgodnie z dowolnym formatem z domyślnych reguł we / wy.
Wydajność
Wynik wspomnianych obliczeń.
Uwagi na temat wyzwania
0!
równa się1
z definicji. Twój kod musi to uwzględniać.- Silnia liczba jest ograniczona poza tego zakresu, można w nich produkcji, co. Poza tym
0!
, co jest jedynym wyjątkiem od tej reguły.
Przykłady
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
Wypróbuj z nieogoloną implementacją Pythona: Wypróbuj online!
Uwagi ogólne
- To jest golf golfowy , więc wygrywa odpowiedź wykorzystująca najmniej bajtów w każdym języku.
- Obowiązują standardowe reguły , reguły we / wy i reguły luk .
- Dołącz link Wypróbuj online, aby pokazać, że Twój kod działa.
- Motywuj swoją odpowiedź wyjaśnieniem swojego kodu.
3!!!!!!!
nie powinno być niezdefiniowane - powinno po prostu dać odpowiedź 3
. Jest taki sam jak 1!!=1
(nieokreślony). Również twoja specyfikacja wejściowa mówi, że zawsze będzie co najmniej jeden !
, więc pierwszy przykład 3
nie pasuje do specyfikacji.
(3!)!
zamiast to usuwając terminy z silni. To mylące imię; Przyszedłem, zakładając, że będzie ona wielokrotnie stosować funkcję czynnikową w łańcuchu i musiałem uważnie przeczytać, aby zobaczyć, co to właściwie jest. Na szczęście pytanie wyjaśnia to jasno. Lepszą nazwą może być silnia krokowa, silnia krokowa lub coś takiego.
0!
ale uwagi dotyczące wyzwania mówią, że liczba czynnikowa będzie mniejsza lub równa wartości podstawowej.