/*************************************************************************************************************************************/ /* */ /* A P P R O X I M A T I O N R A T I O N N E L L E D ' U N R E E L */ /* P A R P A R C O U R S D E S R A T I O N N E L S N U M E R O T E S : */ /* */ /* */ /* Author of '$xtc/ApproximationRationnelle.11$c' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 20180827184346). */ /* */ /*************************************************************************************************************************************/ #include "INCLUDES.01.I" #define N 10 #define REEL 0.333333 #define EPSILON 0.001 main() { double x=REEL; int SommeNumerateurDenominateur; int ApproximationTrouvee=FAUX; for (SommeNumerateurDenominateur=1+1 ; SommeNumerateurDenominateur <= N ; SommeNumerateurDenominateur++) { int iterations; int Numerateur__=SommeNumerateurDenominateur-1; int Denominateur=SommeNumerateurDenominateur-Numerateur__; for (iterations=1 ; iterations < SommeNumerateurDenominateur ; iterations++) { double approximation=(double)Numerateur__/(double)Denominateur; if (ABSO(x-approximation) < EPSILON) { if (ApproximationTrouvee == FAUX) { printf("%f ~ %d/%d\n",x,Numerateur__,Denominateur); ApproximationTrouvee=VRAI; /* Ainsi, on trouve le rationnel ayant le plus petit denominateur... */ } else { } } else { } Numerateur__--; Denominateur++; } } }