Ugani prvi clen zaporedja
Iz E-študij, proste zakladnice študentskega znanja
Če imamo rekurzivno podano zaporedje:
| xi = xi − 1 + xi − 2; |
| 1 < i < 10000, |
| x0 = x1 |
Je trik v tem, da je prvi člen našega zaporedja enak kvocientu sume n-členov našega zaporedja in sume n-členov fibonaccijevega zaporedja. Fibonacijevo zaporedje je podano enako kot naše zaporedje, le da sta prva dva člena x0 = x1 = 1.
Podan imamo N - število členov, S - delna vsota N členov
- izracunamo delno vsoto N-členov fibonaccijevega zaporedja
- delimo podano vsoto z vsoto N-členov fibonaccijevega zaporedja
#include <stdio.h> #include <stdlib.h> int N, i, prvi, drugi, tretji; long S, Sf; int main(void) { //preberemo vhodne parametre scanf("%d %d", &N, &S); //nastavimo prva dva clena fibonaccijevega zaporedja prvi = 1; drugi = 1; //izracunamo sumo prvih dveh clenov fibonaccijevega zaporedja Sf = prvi + drugi; for (i=3; i<=N; i++)//racunamo od tretjega clena naprej, do N-tega clena { tretji = prvi + drugi; //izracunamo naslednji clen Sf += tretji; //pristejemo izracunani clen vsoti f. zaporedja prvi = drugi; //nastavimo naslednji prvi in drugi clen drugi = tretji; } //izracunamo 1. clen nasega zaporedja prvi = S/Sf; printf("Prvi clen zaporedja je %d\n", prvi); return 0; }
//note: to ni rekurzivna rešitev, čeprav je zaporedje podano rekurzivno, da ne bo zmede