/*
 * Cours Langage C - AIR1
 * C. Recanati 26/08/2019 10:37
 * TP2 exo2
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* imprime certains éléments de la suite harmonique */
/* mais ils se stabilisent à partir d'un certain rang */

#define 	PAS  500000000000

/* U1 = 1; */
/* Un = U(n-1) + 1/n */

int main() {	
		double x=1.0;
		double last=0.0;
		short int fini =0;
		unsigned long int i; 


// avec float et PAS de 1000, on a obtenu l'arrêt pour 
// 2097152 : 15.403683

// avec double et PAS de 100000000000
// on met assez longtemps pour arriver à
// 500000000000 : 27.515089
// mais on a interrompu le programme avant l'arrêt

		for(i=2; fini == 0 ; i++) {
			last = x;
			x = x + ((1.0)/i);			
			if (last == x)
				fini = 1;
			if (i%PAS == 0)
				printf("%ld : %f\n", i, x);	
		}
		printf("%ld : %f on a fini !\n", i-1, x);	

		return EXIT_SUCCESS;	   
}
