Rekursion 1: Fibonacciserie



Detta program ger det n:te värdet i Fibonacciserien där varje tal är summan av de två föregående och de två första talen är 1 och 1. Programmet frågar användaren om talet n, och anropar därefter en funktion vars uppgift är att beräkna och returnera det begärda talet. Funktionen anropar sig själv, tills den har kommit ner till de två första talen.

import java.io.*;
class fibonacciserie {

public static int fibonacci(int n) 
{
    if (n==1 || n==2) return 1;   //de två första talen är 1
    else return fibonacci(n-2) + fibonacci(n-1); //addera de två föregående talen
}

public static void main(String[] args)
throws Exception
{
    InputStreamReader isr;
    BufferedReader keyb;
    isr = new InputStreamReader(System.in);
    keyb = new BufferedReader(isr);            //kokbok
  
    System.out.print("Ange det n:te talet i Fibonacciserien: ");
    String inmatning;
    inmatning=keyb.readLine();
    int n = Integer.valueOf(inmatning).intValue();  //String to int  
   
    System.out.print("Tal nummer "+ n+ " i Fibonacciserien är "+ fibonacci(n)); //anrop och utskrift
        
}
}



Tillbaks till huvudsidan

email: Alireza.Niai_nouri.2077@student.uu.se