Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Joka kolmas fibonacci

JRokka [17.02.2020 20:55:05]

#

Katsotaan, onko joka kolmas luku Fibonaccin lukujonon jäsen.

public class Program
{
    public static void main(String[] args) {
        int luvut[] = {3,4,7,5,15,15,22,88,75,89};
        boolean onko = false;
        boolean onko_2 = false;
        int a = 0;
        int b = 0;
        int summa = 0;
        //Katsotaan onko joka kolmas luku fibonacin lukujonon jäsen.
        for (int x = 0; x < luvut.length; x++){
            a = 0;
            b = 1;
            //Lukujonon alussa ei saa olla fibonaccin lukujonoja.
            onko = true;
            for (int z = 0; z < x; z++){
                summa = a+b;
                a = b;
                b = summa;
                if (summa == luvut[z]){
                    onko = false;
                }
            }
            //Kaksi seuraavaa ei saa olla Fibonaccin lukujonon jäsentä.
            for (int y = x; y < luvut.length; y+=3){
                summa = a+b;
                a = b;
                b = summa;
                if (luvut[y] != summa){
                    onko = false;
                }
                summa = a+b;
                a = b;
                b = summa;
                if (y+1 < luvut.length){
                    if (luvut[y+1] == summa){
                        onko = false;
                    }
                }
                summa = a+b;
                a = b;
                b = summa;
                if (y+2 < luvut.length){
                    if (luvut[y+2] == summa){
                        onko = false;
                    }
                }
            }
            if (onko == true){
                onko_2 = true;
            }
        }
        //Näytetään tulos.
        if (onko_2 == true){
            System.out.println("Joka kolmas on fibonacci.");
        }
        else {
            System.out.println("Joka kolmas ei ole fibonacci.");
        }
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta