plansza10
14-10-2013 21:08:29
Dzień dobry.
Prosił bym o pomoc w algorytmie. Oto treść.
Metoda sprawdzenia, czy rok jest przestępny wygląda następująco:
F(1) = 0
F(rok) = (a*F(rok-1)+b+rok) mod m, gdzie a, b i m to wybrane przez scenarzystów parametry.
Jeśli wartość powyższej funkcji dla wybranego roku przekroczy próg (również wymyślony przez scenarzystów), to rok jest przestępny.
Zakładamy, że pierwszego dnia pierwszego miesiąca pierwszego roku mamy pierwszy dzień tygodnia. Dodatkowo obliczenia rozpoczynamy od roku 1.
Wejście:
Na standardowym wejściu w pierwszym wierszu podanych jest 7 liczb dodatnich lm, ldt, a, b, m, p, mprz oznaczające kolejno dla rozważanej konfiguracji liczbę miesięcy, ile dni ma tydzień, parametry dla funkcji, próg oraz w którym miesiącu doliczany jest dodatkowy dzień, gdzie lm należy do <1;1000>, ldt <1;100>, a,b,p,m do <1;100000>. W kolejnym wierszu znajduje się ciąg lm liczb dodatnich z przedziału <1;100>, z których każda oznacza liczbę dni w kolejnych miesiącach.
Następny wiersz to liczba naturalna n, a w kolejnych n wierszach znajdują się 3 liczby dodatnie d, m, r, oznaczające datę w postaci „dzień miesiąc rok”, gdzie n należy do <1;10000>, r należy do <1;10000>.
Wyjście:
Na standardowym wyjściu należy podać n liczb naturalnych, oznaczających numer dnia tygodnia, jaki przypada dla każdej z wybranych dat.
Przykład:
Wejście:
3 5 4 2 20 15 2
10 12 7
2
9 2 1
7 3 100
Wyjście:
4
5
Próbowałem napisać to za pomocą algorytmu kalendarza wiecznego lecz mam błędy więc pisze do was. W załączniku dołączam swoje wypociny.