Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Sabiranje prvih N fibonacijevih brojeva

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Sabiranje prvih N fibonacijevih brojeva

[ Pregleda: 5109 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

UnderLander
software developer
Berlin

Član broj: 64033
Poruke: 166
212.200.125.*



+20 Profil

icon [Zadatak] Sabiranje prvih N fibonacijevih brojeva11.01.2006. u 17:39 - pre 221 meseci
ovako: zadat mi je zadatak u c-u koji glasi:
napisati funkciju koja sabira prvih n fibonacijevih brojeva. funkcija mora da bude rekurzivna.
sme da se koristi: if, while, do while, for, pokazivaci.


e sad, da nije FUNKCIJU, bilo bi prosto, ali sve mora da bude u jednoj funkciji, koja ce samo da se pozove iz main...

pokusavao sam nesto, i nije bas uspelo....


jes' da i nije neki zadatak, ali bas me zanima kako...
U pocetku bese Haos. A onda sam stvorio nebo i zemlju.
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva11.01.2006. u 19:14 - pre 221 meseci
Code:
int niz = {0,1} // nadalje inicilaliziran sa -1
for( int i = 0; i < FIB_BR; ++i )
{
    if( i >= 2 )
             niz[i] = niz[i-1] + niz[i-2];
}
// nakon for-a iscitas iz niza svoj broj

Ovo ti je jedno jednostavnije rijesenje. Naravno da se da priloagoditi potrebama.
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.bih.net.ba.



+1 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva11.01.2006. u 19:23 - pre 221 meseci
Code:
unsigned int fibonacci( unsigned int n ) 
 { 
    if ( n == 0 || n == 1 )
        return 1; 
    else
        return (fibonacci( n - 1 ) + fibonacci( n - 2 )); 
 } 
 
Odgovor na temu

UnderLander
software developer
Berlin

Član broj: 64033
Poruke: 166
212.200.125.*



+20 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva13.01.2006. u 16:48 - pre 221 meseci
@NnrmMyth:
ehm, nije dozvoljeno koristiti nizove. takvo nesto sam i ja napisao, ali ne ispunjava uslov zadatka...

@#Ninja#
ne znam da li je to ispalo kako treba, ali meni taj kod vraca fibonacijev broj, pomeren za jedan, a nikako ne njihov zbir
U pocetku bese Haos. A onda sam stvorio nebo i zemlju.
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.cmu.carnet.hr.

Sajt: www.dump.hr


Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva13.01.2006. u 18:07 - pre 221 meseci
Code:
unsigned int fibonacci( unsigned int n ) 
 { 
    if ( n == 0 )
        return 0;
    else if ( n == 1 )
        return 1;
    else
           return (fibonacci( n - 1 ) + fibonacci( n - 2 )); 
 } 
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva13.01.2006. u 18:49 - pre 221 meseci
Da li ovo pomaze?

Code:
unsigned int fib(unsigned int a,unsigned int b,unsigned int n,unsigned int res)
{
    if(--n==0) return res;
    return fib(b,a+b,n,res+b);
}

Poziv sa

fib(0,1,broj_brojeva,0);
Ipak se ++uje.
 
Odgovor na temu

UnderLander
software developer
Berlin

Član broj: 64033
Poruke: 166
212.200.125.*



+20 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva14.01.2006. u 17:14 - pre 221 meseci
ne bas :(

meni se cini da se mi nismo razumeli...
znaci, ako unesem broj 6, funkcija vraca:
1+1+2+3+5+8
U pocetku bese Haos. A onda sam stvorio nebo i zemlju.
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva14.01.2006. u 17:54 - pre 221 meseci
Koliko ja znam, fibonacci-ev red ide od 0.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, ...
Ipak se ++uje.
 
Odgovor na temu

UnderLander
software developer
Berlin

Član broj: 64033
Poruke: 166
212.200.125.*



+20 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva14.01.2006. u 21:46 - pre 221 meseci
pocinje od nule? izvinjavam se, onda je moja greska...

nas je izvesni profesor ubedjivao po tom pitanju da ako je prvi nula, zbir prethodna dva je isto nula, pa ne moze ni da se pocne, dok je sa jedan pravi pocetak...

..izgleda da je to samo jedna od mnogih stvari u kojima nije u pravu


i da, izvinjavam se zbog eventualne zabune, funkcija ne treba da vrati bukvalno string "0+1+1+2+3+5", vec rezultat toga, u ovom slucaju 12
U pocetku bese Haos. A onda sam stvorio nebo i zemlju.
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva15.01.2006. u 00:09 - pre 221 meseci
I ja sam bio zaboravio, pa sam konsultovao ovo. Ko zna, mogao sam i pogresno da ga protumacim. U svakom slucaju, ako zamenis "--n" sa "n--" u funkciji gore, dobices trazeni rezultat.

Ako se pazi na trosenje memorije, staticke promenjive mogu da urade lep posao:

Code:
unsigned int fib1(unsigned int n)
{
    static unsigned int a,b,res,start=0,temp;

    if(start == 0)
    {        
        start = b = 1;
        res = a = 0;
    }
    
    if(n<2) // if(n<1)
    { return start=0, res; }

    res += (temp = b);
    b += a;
    a = temp;

    return fib1(--n);
}

Nadam se da je pravilno implementirano.
Ipak se ++uje.
 
Odgovor na temu

UnderLander
software developer
Berlin

Član broj: 64033
Poruke: 166
212.200.125.*



+20 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva15.01.2006. u 20:55 - pre 221 meseci
staticke promenljive? znaci ima da ga olesim (profesora)...

aj sad, molim te, polako
prvo, ono unsigned int. sta je to? da li mora svuda (probao sam samo int i cini mi se da je sve isto)
zatim staticki. sta bi to (samo ukratko, ne moras da se cimas) bilo?
U pocetku bese Haos. A onda sam stvorio nebo i zemlju.
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva15.01.2006. u 23:07 - pre 221 meseci
unsigned int je neoznačeni ceo broj. To u suštini znači da može biti samo pozitivan, odnosno da nema bit za znak na početku!

Statičke promenljive čuvaju podatke koji su trajni, odnosno čuvače vrednost do kraja izvršavanja programa!
 
Odgovor na temu

Djordjevic
Nemanja Djordjevic
Beograd

Član broj: 81524
Poruke: 56
*.adsl.sezampro.yu.

Sajt: www.itradionica.com


Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva18.01.2006. u 14:01 - pre 221 meseci
Samo da vam skrenem paznju.
Prva 2 clana Fibonacijevog niza su 1.

Dakle niz ide ovako:

1,1,2,3,5,8,13,21,34,55,...

Dakle ne krece od 0. To je sigurno

---------------------------
IT Radionica
http://www.itradionica.com
---------------------------
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: [Zadatak] Sabiranje prvih N fibonacijevih brojeva18.01.2006. u 17:04 - pre 221 meseci
Mislim da moram da te ispravim. Fibonacijev red pocinje sa 1,1,2, itd. ako se kao argumenti uzimaju samo prirodni brojevi ali je sam definisan i za f(0) = 0. Uzgred:
Citat:
wikipedia.de: Oft wird auch f(0) = 0 ausgelassen und die Fibonacci-Folge mit f(1) = 1 und f(2) = 1 beginnend definiert, insbesondere bei der Anwendung auf Situationen, in denen ein Anfangswert Null keinen Sinn ergibt.
„Cesto biva izostavljeno f(0) = 0 i Fibonacijev red biva pocetno definisan sa f(1) = 1 i f(2) = 1, narocito prilikom primene u situacijama kada pocetna vrednost nula nema smisla.“ ( izvor )
Ipak se ++uje.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Sabiranje prvih N fibonacijevih brojeva

[ Pregleda: 5109 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.