Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Задача на пайтон срочно нужен ответ!

Деление пополам
Дано действительное число a
и натуральное n
. Вычислите корень n
-й степени из числа a
.

Для решения используйте метод деления отрезка пополам.

Входные данные

На вход программе в первой строке подаётся действительное неотрицательное число a
, не превосходящее 1000
, заданное с точностью до 6
знаков после точки. Во второй строке — натуральное число n
, не превосходящее 10
.

Выходные данные

Программа должна вывести единственное число — ответ на задачу с точностью не менее 4
знаков после точки.

Примеры
Ввод
Вывод
2
2

1.41421356237

По дате
По рейтингу
Аватар пользователя
Новичок

Для n = 2:

12345678
 a, x = float(input()), 1. 
while True:
    y = (x + a / x) / 2
    if x == y:
        print('%.12f' % x)
        break
    else:
        x = y  

А вообще можно так, например, попробовать:

12345678910
 a, n = float(input()), int(input()) 
x = 1. 
while True:
    y = (x + a / x**(n - 1) ) / 2
    if abs(x - y) < 1e-14:
        print('%.12f' % x)
        break
    else:
        x = y