Antrenament ONI · clasa a 11-a · clasa a 11-a
Fibonacci pentru n uriaș (ONI 11)
Cerință
Afișează F(n) modulo 1 000 000 007, unde F(0)=0, F(1)=1, F(n)=F(n−1)+F(n−2). De data aceasta n poate fi până la 10^18!
Problemă originală de antrenament în stil ONI (etapa națională), clasa a 11-a, nu este subiect oficial.
Date de intrare
Pe prima linie: n.
Date de ieșire
F(n) mod 1 000 000 007. Nu afișa mesaje suplimentare.
Restricții
- 0 ≤ n ≤ 10^18
- Sunt 20 de teste, fiecare valorează 5 puncte.
10
55
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Ridică la putere matricea [[1,1],[1,0]] prin putere rapidă, sau folosește formulele de dublare F(2k), F(2k+1). Rezultatul corect pentru acest exemplu este: 55.
92
965550172
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Ridică la putere matricea [[1,1],[1,0]] prin putere rapidă, sau folosește formulele de dublare F(2k), F(2k+1). Rezultatul corect pentru acest exemplu este: 965550172.
5309
854432562
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Ridică la putere matricea [[1,1],[1,0]] prin putere rapidă, sau folosește formulele de dublare F(2k), F(2k+1). Rezultatul corect pentru acest exemplu este: 854432562.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri