Используя тип float и "тупой" метод суммирования,
float sum=0.f, sum_ant, n=0.f;
do{
sum_ant=sum; n++; sum+=1.f/n;
}
while(sum_ant!=sum);
printf("sum =%g \n", sum);
оказывается что гармонический ряд при подсчете на компьютере сходится.
Если использовать тип double, то за осмысленное время ответ не выскакивает и я не знаю, что наступит раньше: переполнение счетчика, или ряд все-таки сойдется?
float sum=0.f, sum_ant, n=0.f;
do{
sum_ant=sum; n++; sum+=1.f/n;
}
while(sum_ant!=sum);
printf("sum =%g \n", sum);
оказывается что гармонический ряд при подсчете на компьютере сходится.
Если использовать тип double, то за осмысленное время ответ не выскакивает и я не знаю, что наступит раньше: переполнение счетчика, или ряд все-таки сойдется?