As avea si eu o intrebare. Se cere un program care s acalculeze cu precizia epsilon valoarea lui pi, folosind dezvoltarea in serie:
pi=4(1-1/3+1/5-1/7+...).
Valoarea lui Epsilon se citeste.
EXEMPLE:
1. Epsilon=0.0001
PI cu precizia 0.000100 = 3.141547
Iata programul (pentru epsilon=0.1,0.01,0.001 functioneaza!) dar pentru epsilon=0.0001 nu. Intrebarea mea este unde este greseala? Va multumesc.
#include<stdio.h>
void main(){
float EPSILON;
float v1, v2;
int i=5, semn=1;
printf("EPSILON= ");
scanf("%f", &EPSILON);
v1=1.0;
v2=(float)1.0 -(float)1.0/3;
while(4*(v2>v1?v2-v1:v1-v2) >= EPSILON){
v1=v2;
v2+=semn*((float)1.0/i);
i+=2;
semn*=-1;
}
printf("\n------------------------------\n");
printf("%f\n",4*v2);
}
