31 / 59
Sep 2017

Dobra, skoro tak mówisz to się nie będę tym na razie przejmował :slight_smile: zdziwiło mnie tylko, że stosując funkcję rekurencyjną osiągnąłem taki sam wynik co stosując pętlę, ale pewnie różnica jest widoczna dopiero przy większej ilości operacji, w sumie tutaj w rekurencji to tylko 10 wywołań maksymalnie, także ilość nie powala pewnie, żeby zrobić jakąkolwiek różnicę. Dzięki za szybką odpowiedź :wink:

Inaczej. Na dzień dobry dostajesz minimum (np ~15 Mb dla CPP14). Jeżeli wystarczy Ci mniej, to i tak zostanie 15. Jak potrzebujesz więcej to dostaniesz więcej, ale nie nieskończoność: http://pl.spoj.com/ranks/FCTRL3/lang=CPP14,start=86213
Gdy się będziesz przesuwał w lewo [klikając w numerki stron 45, 44, 43 .....], znajdziesz taki dzień, w którym nastąpiła zmiana.

3 months later

Cześć, nadszedł i mój czas zmierzenia się z tym potworkiem, napisałem już 3 algorytmy wszystkie pozornie prawidłowe. Poniższy jest najprostszy i najbliższy odpowiedzi, ale nie mam najmniejszego pojęcia dlaczego sędzia nie chce mi dać AC

Docenię każdą, chociażby najmniejszą podpowiedź

Z treści zadania:

...Liczbę n! (czytaj n-silnia) definiuje się następująco. Jeśli n ≤ 1, to n! = 1. ....

i dalej:

Opis każdego przypadku składa się z jednej linii, w której znajduje się jedna nieujemna liczba całkowita n (0 ≤ n ≤ 1 000 000 000).

Dziękuję czasem ciężko wziąć nic pod uwagę :slight_smile: pozdrawiam i dziękuję

2 months later

jak dla mnie to czy nie powinna być używana w tym zadaniu rekurencja która przekracza czas wykonania zadania a przechodzi najgłupsza konstrukcja z ifów ?

Jak dla mnie, nie [koniecznie].

PS
O mądrości lub głupocie konstrukcji decyduje konstruktor [coder].

PS 2
Dla SPOJ’a liczy się tylko uzyskany w rozsądnym czasie wynik, a nie metoda. Możesz więc spokojnie użyć zamiast: “najgłubszej konstrukcji z [kilku] ifów”, dowolnej innej, np ze switch, z jednym ifem, lub całkowicie bez, a także możesz to zrobić, jak tylko sobie pomyślisz, czy rekurencyjnie czy iteracyjnie czy jeszcze inaczej. Masz tu całkowitą swobobę, liczy się cel a nie środki.

Jeżeli jesteś w stanie zaproponować sensowne rozwiązanie rekurencyjne dla tego problemu to dlaczego nie? Sytuacja jest o tyle prosta, że sensowne rozwiązanie oznacza jedynie AC czyli ma wyłącznie mieścić się w jakimś limicie czasowym i działać zaledwie dla wybranych, podanych w treści zadania liczb. A jeżeli będzie ono lepsze od ifów to chętnie je poznam.

1 year later

Witam, co tu może być nie tak? Prosze o rade :smiley:
Z góry dziękuje!

Masz zły wynik dla pewnej bardzo małej wartości. Polecam wikipedię/google i poczytanie o silni :slight_smile:

Droga Spolecznosci,
rozpoczynam swoje kroki w jezyku Java. Przewertowalem forum, wdrozylem wiele podpowiedzi nie mnie jednak wciaz sedzia wyswietla informacje o przekroczonym limicie czasu. Czy ktos bylby tak mily i pomoglby mi znalezc przyczyne? Z gory bardzo dziekuje!

Coś słabo czytałeś. Ile zajmie ci wykonanie programu dla tego testu?
10
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000
1000000000

Poza tym twój program daje złe wyniki: https://ideone.com/c7ZvlY5

Wie ktos dlaczego to nie dziala?

Chodzi mi bardziej o to ze w ideone dziala a u sedziego nie

działa dla niewielkiego zakresu wejścia - to że test z zadania daje poprawny wynik, to za mało :slight_smile:

sprawdź wynik np. dla:

1
100

Wyszlo “0 8” ale srednio mam gdzie sprawdzic poprawnosc tego poniewaz jest to ogromna liczba.
Czy python moze w zmiennej przechowywac tak duza liczbe?

A czytania ze zrozumieniem wątku nie próbowałeś ? Nawet jest podana wartość silnii 100… Wystarczy przeczytać 3 posty od góry…