Powinieneś napisać program lub funkcję, która podała trzy dodatnie liczby całkowite n b k
jako dane wyjściowe lub zwraca ostatnie k
cyfry przed końcowymi zerami w podstawowej b
reprezentacji n!
.
Przykład
n=7 b=5 k=4
factorial(n) is 5040
5040 is 130130 in base 5
the last 4 digits of 130130 before the trailing zeros are 3013
the output is 3013
Wkład
- 3 dodatnie liczby całkowite
n b k
gdzie2 <= b <= 10
. - Kolejność liczb całkowitych wejściowych można wybrać dowolnie.
Wydajność
- Lista cyfr zwróconych lub wyprowadzonych jako liczba całkowita lub lista liczb całkowitych.
- Zera wiodące są opcjonalne.
- Twoje rozwiązanie musi rozwiązać każdy przykładowy przypadek testowy w ciągu minuty na moim komputerze (przetestuję tylko zamknięte przypadki. Mam komputer poniżej średniej.)
Przykłady
Dodano nowe testy w celu sprawdzenia poprawności zgłoszeń. (Nie są objęte regułą czasu działania poniżej 1 minuty.)
Dane wejściowe => Dane wyjściowe (z możliwością pominięcia początkowych zer)
3 10 1 => 6
7 5 4 => 3013
3 2 3 => 11
6 2 10 => 101101
9 9 6 => 6127
7 10 4 => 504
758 9 19 => 6645002302217537863
158596 8 20 => 37212476700442254614
359221 2 40 => 1101111111001100010101100000110001110001
New tests:
----------
9 6 3 => 144
10 6 3 => 544
To jest golf golfowy, więc wygrywa najkrótszy wpis.
7 5 3
wypisze „013” lub „13”?
7 10 4
przypadku testowego powiedziałbym13
n
lub k
? Czy możemy ograniczyć je do zakresu liczb całkowitych języka?