Ugani prvi clen zaporedja

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

Č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.

x_0=S_N/S_f\;\!

Podan imamo N - število členov, S - delna vsota N členov

  1. izracunamo delno vsoto N-členov fibonaccijevega zaporedja
  2. 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

Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja