/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C O M P R E H E N S I O N   D U   P L U S   P E T I T   P R O G R A M M E   D E   C A L C U L   D E   P I  :               */
/*        ( ' P O U R   L A   S C I E N C E ' ,   M A I   1 9 9 4 )                                                                  */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtc/pi_mini.02$c' :                                                                                            */
/*                                                                                                                                   */
/*                    Unknown and Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss).                                                  */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#define   N         14
#define   PI        2000
                                        /* Le nombre de chiffres de 'PI' donne le nombre de chiffres avec lequel est calcule 'pi'    */
                                        /* (y compris la partie entiere). Si donc ce nombre est augmente, il convient d'augmenter    */
                                        /* correlativement la valeur de 'N' (le nombre d'iterations).                                */

main()
     {
     int       k;
     int       pi=PI;
     for       (k=1 ; k<=(N-1) ; k++)
               {
               pi = ((pi/((2*(N-k))+1)) * (N-k))+PI;
                                        /* Formule de recurrence mysterieuse pouvant etre ecrite :                                   */
                                        /*                                                                                           */
                                        /*                           U                                                               */
                                        /*                            k-1                                                            */
                                        /*                  U  = ------------(N-k) + PI                                              */
                                        /*                   k    2(N-k) + 1                                                         */
                                        /*                                                                                           */
                                        /* avec :                                                                                    */
                                        /*                                                                                           */
                                        /*                  U  = PI                                                                  */
                                        /*                   0                                                                       */
                                        /*                                                                                           */
                                        /*                  k E [1,N-1]                                                              */
                                        /*                                                                                           */
                                        /* pour une valeur 'N' maximale.                                                             */
                                        /*                                                                                           */
                                        /* Cela ressemble a une sorte de fraction continue "a l'envers" (c'est-a-dire ou c'est       */
                                        /* le numerateur, et non point le denominateur, qui est une fraction) ; ainsi, pour N=4      */
                                        /* on a :                                                                                    */
                                        /*                                                                                           */
                                        /*                   1                                                                       */
                                        /*                  ---3 + 1                                                                 */
                                        /*                   7                                                                       */
                                        /*                  ---------2 + 1                                                           */
                                        /*                      5                                                                    */
                                        /*                  ---------------1 + 1                                                     */
                                        /*                         3                                                                 */
                                        /*                                                                                           */
                                        /* en faisant PI=1...                                                                        */
               }
     printf("\n pi = %d",pi);
     }



Copyright © Jean-François COLONNA, 2023-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2023-2024.