Tässä olisi Fibonacci tehtävään valmis kaava jolla voi laske sen suoraan määrittelemällä montako kierrosta pitää laskea. Tää on sit aivan pöljä kaava ainakin niistä jotka eivät tykkää Matikasta, ite mukaan lukien.
Tarvitset Form:iin seuraavia juttuja:
{Tarvikkeet} == {Nimi}
TextBox => Lukema
Button => Nappi
ListBox => Tulostus (Ainakin 6 riviä korkea)
Dim a As Decimal 'Decimal saa suuria lukemia paremmin ku muilla joita tiedän Dim b As Decimal Dim c As Decimal Dim i As Decimal a = 1 'Pakko määrittää arvoksi 1 koska muuten ei tule vastauksia b = 0 'Jos ei ole 0 niin tulee mitä sattuu c = 0 If Lukema.Text <= 0 Or Lukema.Text > 130 Then Tulostus.Items.Add("Luvun pitää olla välillä 1 - 130") Else Tulostus.Items.Clear() 'Tyhjentää taulukon aina kun uusi luku annetaan For i = 1 To Lukema.Text 'Ilmoitetaan monta lukemaa tulostetaan ja samalla kiertää ympäri c = a + b a = b b = c Tulostus.Items.Add(c) 'Tulostaa jokaisen vastauksen siihen numeroon asti johonka halusi Next End If
Tämän laskemiseen on olemassa myös toinen kaava:
// Pätkä valmiista php toteutuksestani. $n = 50; // monesko luku? $luku = round((1/sqrt(5)) * (pow((1+sqrt(5))/2,$n)-pow((1-sqrt(5))/2,$n))); echo $luku;
nähtävissä toiminnassa täällä: http://mbnet.fi/peku1/PHP/fibonacci.php
No ainakin minusta toi minun oma kaava on helpompi ja selkeämpi itseni mielestä! Ja toi toimii Javassa ja ainakin Visual Basicissä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.