Corso di Informatica 1 (IN110)

Gli esercizi

Testi e soluzioni di alcuni esercizi

Numeri di Fibonacci

Letti in input due numeri floating point x e y e un intero n, calcola l'n-esimo valore della successione di Fibonacci.

/*
**  Fibonacci.C
**
**  Letti in input due numeri floating point x ed y
**  e un intero n, calcola l'n-esimo valore della
**  successione di Fibonacci, definita come segue:
**
**    U(0) = x
**    U(1) = y
**    U(n+2) = U(n+1) + U(n)
**
**  Lorenzo Tortora (tortora@logique.jussieu.fr) - Marzo 2001
*/

#include <stdlib.h>
#include <stdio.h>

int main(void) {
  float x,y,z;
  int i,n;

  printf("Digita il primo ed il secondo valore della successione: ");
  scanf("%f %f", &x, &y);
  printf("Quale termine della successione vuoi calcolare? ");
  scanf("%d", &n);
  if (n==0) {
	  z=x;
	} else {
    if (n==1) {
      z=y;
    } else {
      for(i=2; i<=n; i++) {
        z = y+x;
        x = y;
        y = z;
      }
    }
  }
  printf("Il termine %d della successione e' %f.\n", n, z);
  return(0);
}

Author: Marco Liverani - Last modified: Monday October 24, 2016 - URI: http://www.mat.uniroma3.it/users/liverani/IN110/fibonacci.shtml