#include #include const double TEMPOEXECUCAO = 300; float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } int main(void){ time_t tStart, tActual; long double serie = 0.f; // criterio de comparacao long int termos = 0l; // contador de termos gerados float i=1.f; // i-esimo termo time(&tStart); time(&tActual); while(difftime(tActual, tStart) < TEMPOEXECUCAO){ serie = serie + InvSqrt(i++); termos++; time(&tActual); } printf("InvSqrt(x) :: [ %li ] Termos :: [ %Lf ] Serie\n", termos, serie); }