home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / prg / alb_c10 / chap_06 / ch06_06.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-27  |  1.5 KB  |  53 lines

  1. /*********************************************************************
  2. *  CH06_06.C                               Variables statiques     *
  3. *                                                                    *
  4. *  Calcul des termes de la sΘrie                                     *
  5. *  de LΘonardo Fibonacci (1175-1240) dit LΘonard de Pise.            *                                      
  6. *                                                                    *
  7. *  s(n)= s(n-1) + s(n-2)                                             *
  8. *  le terme de rang n est Θgal α la somme des 2 termes prΘcΘdents.   *
  9. *                                                     *
  10. *  S= { 1, 1, 2, 3, 5, 8, 13, ...}                                 *
  11. *                                                                    *
  12. *********************************************************************/
  13.  
  14. #include<stdio.h>
  15.  
  16. int LitInt( void);
  17. unsigned long int CalcTerme( int);
  18.  
  19. main( void)
  20. {
  21.     int i, n;
  22.  
  23.     printf(" Quel est le nombre de termes α calculer?  ");
  24.     n= LitInt();
  25.     printf("\n");
  26.  
  27.     for( i= 1; i<= n; i++)
  28.     printf("\n s(%d)= %lu", i, CalcTerme( i) );
  29.  
  30. }
  31.  
  32. unsigned long int CalcTerme( int indice)
  33. {
  34.     static unsigned long int s_moins1= 1,  s_moins2= 1;
  35.     unsigned long int terme;
  36.  
  37.     terme= ( indice< 3) ? 1: s_moins1+ s_moins2;
  38.  
  39.     s_moins2= s_moins1;
  40.     s_moins1= terme;
  41.  
  42.     return( terme);
  43. }
  44.  
  45. int LitInt( void)
  46. {
  47.         int Entier;
  48.     while( scanf("%d", &Entier)!= 1)
  49.         while( getchar() != '\n');
  50.     while( getchar() != '\n');
  51.     return ( Entier);
  52. }
  53.