/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        E T U D E   D E   L A   C O N J E C T U R E   D E   G O L D B A C H  :                                                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtc/Goldbach.01$c' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 20121012131810).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#include  <stdio.h>

#define   NOMBRE                                                                                                                        \
                    167                                                                                                                 \
                                        /* Nombre de nombres premiers a calculer...                                                  */ \
                                        /*                                                                                           */ \
                                        /* La valeur 167 est la pour 'v ''$xiMt/MathematiquesPhysiqueFractales.02.1.12.$m4.$I 990',  */ \
                                        /* pour 'v ''$xiMt/MathematiquesPhysiqueFractales.22.1.$m4.$I 990' ainsi que pour            */ \
                                        /* 'v ''$xiMl/GOLD.nn.1.$ANGLAIS.$m4.$I 990'...                                              */
#define   STORE(n)                                                                                                                      \
                    {                                                                                                                   \
                    ListeDesNombresPremiers[IndexDesNombresPremiers]=n;                                                                 \
                    IndexDesNombresPremiers++;                                                                                          \
                    }

main()
          {
          int       IndexDesNombresPremiers=0;
          int       ListeDesNombresPremiers[NOMBRE];
          int       NombreEntierCourant;

          STORE(2);
          NombreEntierCourant=ListeDesNombresPremiers[IndexDesNombresPremiers-1]+1;

          while     (IndexDesNombresPremiers < NOMBRE)
                    {
                    int       index;
                    int       EstPremier=0;

                    for       (index=0 ; index<=IndexDesNombresPremiers-1 ; index++)
                              {
                              if        ((NombreEntierCourant % ListeDesNombresPremiers[index]) == 0)
                                        {
                                        EstPremier=1;
                                        }
                              else
                                        {
                                        }
                              }

                    if        (EstPremier == 0)
                              {
                              STORE(NombreEntierCourant);
                              }
                    else
                              {
                              }

                    NombreEntierCourant=NombreEntierCourant+2;
                    }

          IndexDesNombresPremiers--;

          for       (NombreEntierCourant=4 ;
                     NombreEntierCourant<=ListeDesNombresPremiers[IndexDesNombresPremiers] ;
                     NombreEntierCourant=NombreEntierCourant+2
                     )
                    {
                    int       NombreDeSolutions=0;
                    int       index1;

                    printf("%d =",NombreEntierCourant);

                    for       (index1=0 ; index1<=IndexDesNombresPremiers ; index1++)
                              {
                              int       NombrePremier1=ListeDesNombresPremiers[index1];
                              int       index2;

                              for       (index2=index1 ; index2<=IndexDesNombresPremiers ; index2++)
                                        {
                                        int       NombrePremier2=ListeDesNombresPremiers[index2];

                                        if        (NombreEntierCourant == (NombrePremier1+NombrePremier2))
                                                  {
                                                  NombreDeSolutions++;
                                        /* Comptage des facons de decomposer 'NombreEntierCourant', sachant que l'on tient compte    */
                                        /* de la commutativite de l'addition : ainsi 'A+B' et 'B+A' ne sont comptes qu'une seule     */
                                        /* fois...                                                                                   */

                                                  printf(" %d+%d",NombrePremier1,NombrePremier2);
                                                  }
                                        else
                                                  {
                                                  }
                                        }
                              }

                    printf(" #%d\n",NombreDeSolutions);
                    }
          }



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