Цитата:
Сообщение от Андрей Романюк
прошу прощения, с "копи пастом" налажал))) ряд такой: P=1/3*1/5*1/7.....с точностью до очередного члена ряда < 10^-4
|
Воля Ваша, сударь, но в условии - явный брех. Ну вот отлаженная программа, где ограничение снижено с 10^-4 до 10^-2.
Код:
uses crt;
var
p,el:real;
z:integer;
begin
clrscr;
p:=1;
z:=0;
repeat
Inc(z);
el:=1/(2*z+1);
write('z= ',z:2,' ','el= ',el,' ');
p:=p*el;
writeln('p= ',p);
until el<0.01;
readln;
end.
Если ее запустить, то результат будет такой: 50 сомножителей, при этом само произведение будет числом порядка 10^-81. А если порог поставить 10^-4, то будет 5000 сомножителей, а произведение по малости вылетит за все разумные разрядные сетки и действительно будет трансформировано компьютером в чистый ноль.
В принципе, можно попробовать решить и такую задачку, но это мало похоже на студенческое упражнение. Так что уточните.