Дано действительное число x. Вычислить с точностью 10^(-6)
Дано действительно число x. Точность 10^-6. Решить через циклы. Вот что я сделал. Я рассуждал так: Если модуль числа с элементом k в этой сумме больше заданной точности, то оно удовлетворяет условию.
import math
x = float(input("Введите заданное число x: "))
k = 1
s = 0
p = math.pow(10, -6)
q = (math.pow(-1, k) * math.pow(x, k)) / k
v = math.fabs(q)
while (v >= p):
s += q
k += 1
q = (math.pow(-1, k) * math.pow(x, k)) / k
v = math.fabs(q)
print(v)
print(s)
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
pow здесь использовать ни к чему, следующая степень получается просто домножением на X. Перемена знака - тем более, умножение на -1
Результат можно проверить по формуле, приведённой pavel -math.log(x+1)
x = float(input("Введите заданное число x в пределах -1..1: "))
k = 1
q = -x
v = q
s = 0
eps = 1e-6
while (abs(v) > eps):
#print(v)
s += v
k += 1
q *= -x
v = q / k
print(s)
или даже так:
x = float(input("Введите заданное число x в пределах -1..1: "))
k = 1
q = -x
s = 0
eps = 1e-6
while (abs(q) > eps):
s += q
q *= -x*k/(k+1)
k += 1
import math
print(s, -math.log(x+1))