Есть ответ 👍

Дано вещественное число а . найти такое наименьшее m, при котором: 1+ 1/2+1/3++ 1/m> a

116
296
Посмотреть ответы 2

Ответы на вопрос:


// pascalabc.net 3.0, сборка 1160 от 05.02.2016 function sharm(m: integer): real: =range(1,m).select(x-> 1/x).sum; begin   var a: =readreal('a=');   var m: =1;   while sharm(m)< =a do inc(m);   writeln('m=',m) end. тестовое решение: a= 5 m=83 указанный ряд - это известный в расходящийся гармонический ряд. его приближенное значение суммы можно определить по формуле эйлера: нам требуется определить m, для которого s(m)> a, тогда будем искать m, отбрасывая дробную часть полученного результата, а потом делать уточнение путем непосредственного вычисления сумм. // pascalabc.net 3.0, сборка 1160 от 05.02.2016 const c=0.577215664902; // постоянная эйлера-маскерони function sharm(m: integer): real: =range(1,m).select(x-> 1/x).sum; begin   var a: =readreal('a=');   var m: =1;   if a< =3 then begin       while sharm(m)< =a do inc(m);       writeln('m=',m)       end   else begin       var s: real: =int(exp(a-c));       if a< 10 then begin           m: =trunc(s);           while sharm(m)< =a do inc(m);           writeln('m=',m)           end       else writeln('m=',s)       end end. в этом случае можно проводить оценочный расчет для больших значений а: a= 200 m=4.05709150011779e+86

Відповідь:

→←

Пояснення:

Популярно: Информатика