Nije za prfih n clanova zavisi sta stavis na varijable prvi i drugi. Npr. mozes poceti sa 3,8. Onda fibonacijev niz pocinje 3,8,11,19,30,.....
Ti opet
Besparica je napisao:
Hm, izgleda da sam pogresno shvatio zadatak.
Ne znam zasto sam krenuo od pretpostavke da su prva tri clana 0,1,2.
Znaci, prva tri clana su pocetna tri clana Fiobonacijevog niza(0,1,1), a
svaki sledeci je jednak sumi predhodna tri clana.
nije prethodna tri nego dva.
Evo ovo radi.
Kod:
#include <stdio.h>
int fib(int n, int prvi, int drugi){//n je duzina niza, prvi je prvi clan fibonacijevog niza, drugi je drugi clan fibonacijevog niza
int niz[n];//inicijalizujemo niz duzine n
int suma=0;//sumu postavimo na 0
niz[0]=prvi;//prvi clan fibonacijevog niza postavnimo na pocetak niza
niz[1]=drugi;//drugi clan niza postavimo na drugo mjesto
for(int i=2;i<n;i++){ //napravimo fibonacijev niz na osnovu prva dva duzine n
niz[i]=niz[i-1]+niz[i-2];
}
for(int i=0;i<n;i++){//suma fibonacijevog niza
suma+=niz[i];
}
return suma;
}
int main(){
int n,p,d;//n duzina niza, p prvi clan fibonacijevog niza, d rdugi clan fibonacijevog niza
scanf("%d %d %d",&n,&p,&d);
printf("%d",fib(n,p,d));
return 0;
}
Moze i sa jednom for petljom
Kod:
#include <stdio.h>
int fib(int n, int prvi, int drugi){//n je duzina niza, prvi je prvi clan fibonacijevog niza, drugi je drugi clan fibonacijevog niza
int niz[n];//inicijalizujemo niz duzine n
niz[0]=prvi;//prvi clan fibonacijevog niza postavnimo na pocetak niza
niz[1]=drugi;//drugi clan niza postavimo na drugo mjesto
int suma=niz[0]+niz[1];//suma niza
for(int i=2;i<n;i++){ //napravimo fibonacijev niz na osnovu prva dva duzine n
niz[i]=niz[i-1]+niz[i-2];
suma+=niz[i];
}
return suma;
}
int main(){
int n,p,d;//n duzina niza, p prvi clan fibonacijevog niza, d rdugi clan fibonacijevog niza
scanf("%d %d %d",&n,&p,&d);
printf("%d",fib(n,p,d));
return 0;
}
_________________
Ја не гледам да ли ћу ићи у битку по томе колика је сила која ми прети
него по томе колику Светињу браним!!!
Udruzenje linux korisnika Republike Srpske