// Programación en C++ para Ingenieros, Ed. Thomson Paraninfo, 2006
// Capítulo 4: Esquemas Algorítmicos Básicos

// Programa que dado un entero n calcula el n-ésimo término de la serie de Lucas.

#include <iostream>

using namespace std;

// Programa principal.
int main()
{
  // Declaración de variables.
  int i  = 3, n,
      l0 = 1, l1 = 3, // Obtención del primer (y segundo) elemento.
    lAct;             // Elemento actual.

  cout << "Indice del termino de la serie de Lucas a calcular: ";
  cin >> n ;

  if (n == 1) lAct = l0;
  else if (n == 2) lAct = l1;

  // El último elemento se determina porque se cumple i = n.
  for ( i = 3; i < n; i++ )
  {
    lAct = l0 + l1; // Obtención del siguiente elemento.

    l0   = l1;
    l1   = lAct;
  }

  // Tratamiento del último elemento.
  if ( n > 2 ) lAct = l0 + l1;

  // n-esimo término de Lucas.
  cout << "El " << n << "-esimo termino de Lucas es: " << lAct << endl;

  return 0;
}