Top.Mail.Ru
Ответы

Задача по информатике

Вычислить сумму квадратов всех чисел попадающих в интервал(lnx,e^x), для заданного x>1
На питоне

По дате
По рейтингу
Аватар пользователя
Высший разум
5мес

Наверно всё таки имеются в виду все
целые числа, попадающие в диапазон
[ceil(ln(x));floor(eˣ)]. А так как
⅀(i=m;n)i² = ⅙·[n·(n+1)·(2n+1)-(m-1)·m·(2m-1)]
, то в программе никаких циклов не требуется:

1234
 from math import ceil, exp, floor, log
x = float(input('x: '))
m, n = ceil(log(x)), floor(exp(x))
print((n*(n+1)*(2*n+1)-(m-1)*m*(2*m-1))//6) 

Это для относительно небольших х, для достаточно больши́х х целую часть экспоненты eˣ вычислять довольно трудно, да и при х, бо́льших 700, можно получить переполнение. Ещё для некоторых вещественных чисел х само определение диапазона (㏑ x; eˣ) с сужением его до целочисленных границ может стать очень серьёзной проблемой...

Аватар пользователя
Ученик
5мес

Bajajo bajajajo