Tutorial
Od przybytku g³owa nie boli
Powiêkszmy zatem tablicê, a nawet (na wszelki wypadek) zróbmy pewn± rezerwê:
var d,n,i : longint; f : array[0..200000000] of longint; begin readln(d); while (d>0) do begin d:=d-1; readln(n); f[0]:=0; f[1]:=1; for i:=2 to n do f[i]:=(f[i-1]+f[i-2]) mod 10000; writeln(f[n]); end; end.
Wys³anie takiego programu spowoduje, ¿e Sprawdzarka zwróci tak¿e ocenê:
Runtime Error
Zadeklarowana tablica jest zbyt du¿a. Ka¿dy program ma do dyspozycji jedynie 32MB pamiêci na stos i 32MB na stertê, wiêc wszystkie zmienne i tablice (tak¿e te zaalokowane dynamicznie) nie mog± zajmowaæ wiêcej.
W ogólno¶ci rezerwa jest zalecana, by zabezpieczyæ siê przed b³êdem przekroczenia zakresu tablicy o kilka elementów. Jednak nie powinna byæ ona a¿ tak absurdalnie du¿a, a wynosiæ jedynie parê (np. 10) elementów.