Как найти квадратный корень в программировании

Квадратный корень из числа — это значение, которое при умножении само на себя дает исходное число. Каждое положительное число имеет два квадратных корня (то же значение с положительным и отрицательным знаками). Ниже приводится запись квадратного корня:
√25 = ±5

Для отрицательного числа результат извлечения квадратного корня включает комплексные числа, обсуждение которых выходит за рамки данной статьи.

Математическое представление квадрата числа

Все мы в детстве узнали, что, когда число умножается само на себя, мы получаем его квадрат. Также квадрат числа можно представить как многократное умножение этого числа. Попробуем разобраться в этом на примере.

Предположим, мы хотим получить квадрат 5. Если мы умножим число (в данном случае 5) на 5, мы получим квадрат этого числа. Для обозначения квадрата числа используется следующая запись:
52 = 25

При программировании на Python довольно часто возникает необходимость использовать функцию извлечения квадратного корня. Есть несколько способов найти квадратный корень числа в Python.

1. Используя оператор возведения в степень

num = 25
sqrt = num ** (0.5)
print("Квадратный корень из числа "+str(num)+" это "+str(sqrt))

Вывод:

Квадратный корень из числа 25 это 5.0

Объяснение: Мы можем использовать оператор «**» в Python, чтобы получить квадратный корень. Любое число, возведенное в степень 0.5, дает нам квадратный корень из этого числа.

2. Использование math.sqrt()

Квадратный корень из числа можно получить с помощью функции sqrt() из модуля math, как показано ниже. Далее мы увидим три сценария, в которых передадим положительный, нулевой и отрицательный числовые аргументы в sqrt().

a. Использование положительного числа в качестве аргумента.

import math
num = 25
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.0.

b. Использование ноля в качестве аргумента.

import math
num = 0
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 0 это 0.0.

c. Использование отрицательного числа в качестве аргумента.

import math
num = -25
sqrt = math.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод:

Traceback (most recent call last):
  File "C:wb.py", line 3, in 
    sqrt = math.sqrt(num)
ValueError: math domain error

Объяснение: Когда мы передаем отрицательное число в качестве аргумента, мы получаем следующую ошибку «math domain error». Из чего следует, что аргумент должен быть больше 0. Итак, чтобы решить эту проблему, мы должны использовать функцию sqrt() из модуля cmath.

3. Использование cmath.sqrt()

Ниже приведены примеры применения cmath.sqrt().

а. Использование отрицательного числа в качестве аргумента.

import cmath
num = -25
sqrt = cmath.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа -25 это 5j.

Объяснение: Для отрицательных чисел мы должны использовать функцию sqrt() модуля cmath, которая занимается математическими вычислениями над комплексными числами.

b. Использование комплексного числа в качестве аргумента.

import cmath
num = 4 + 9j
sqrt = cmath.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа (4+9j) это (2.6314309606938298+1.7100961671491028j).

Объяснение: Для нахождения квадратного корня из комплексного числа мы также можем использовать функцию cmath.sqrt().

4. Использование np.sqrt()

import numpy as np
num = -25
sqrt = np.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод:

...
RuntimeWarning: invalid value encountered in sqrt
Квадратный корень из числа -25 это nan

5. Использование scipy.sqrt()




import scipy as sc
num = 25
sqrt = sc.sqrt(num)
print("Квадратный корень из числа " + str(num) + " это " + str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.0.

Объяснение: Как и функция sqrt() модуля numpy, в scipy квадратный корень из положительных, нулевых и комплексных чисел может быть успешно вычислен, но для отрицательных возвращается nan с RunTimeWarning.

6. Использование sympy.sqrt()

import sympy as smp
num = 25
sqrt = smp.sqrt(num)
print("Квадратный корень из числа "+str(num)+" это "+str(sqrt))

Вывод: Квадратный корень из числа 25 это 5.

Объяснение: sympy — это модуль Python для символьных вычислений. С помощью функции sympy.sqrt() мы можем получить квадратный корень из положительных, нулевых, отрицательных и комплексных чисел. Единственная разница между этим и другими методами заключается в том, что, если при использовании sympy.sqrt() аргумент является целым числом, то результат также является целым числом, в отличие от других способов, в которых возвращаемое значение всегда число с плавающей точкой, независимо от типа данных аргумента.

Заключение

Наконец, мы подошли к завершению этой статьи. В начале мы кратко затронули использование квадратного корня в математике. Затем мы обсудили принципы внутреннего устройства функции извлечения квадратного корня и ее возможную реализацию. В завершении мы рассмотрели различные методы применения этой функции в Python.

Квадратный корень в программировании вычисляется во многих языках программирования при помощи специальных функций. Но есть языки, в которых нет встроенных функций для извлечения корня, — тогда в них приходится «изворачиваться» собственными методами. Поэтому важно вспомнить, что такое корень числа, из курса математики, чтобы правильно его извлекать «собственными методами».

Квадратный корень из числа А — это некое число В, которое при умножении на само себя (возведение во 2-ю степень) дает число А. Все это можно выразить формулой: А=В2 или А=В*В.

Извлечением корня из числа А называют операцию по поиску числа В. Мы покажем, как это делается в нескольких языках программирования.

Извлечение корня в Java

При программировании на Java извлечение корня происходит при помощи класса «Math» и метода «static double sqrt(double a)». 

Как выглядит извлечение корня в коде:

public class TestSqrt {

 public static void main(String[] args) {

  int x = 9;

  double y = Math.sqrt(x);

  System.out.println(«Корень квадратный из числа » + x + » будет равен » + y);

 }

}

Запустив эту программу, мы получим следующий результат:

Корень квадратный из числа 9 будет равен 3

Извлечение корня в Python

Для вычисления квадратного корня в Python применяется функция «sqrt()», которая расположена в модуле «math».

Как извлечение корня выглядит в коде:

import math

number = 9

sqrt = math.sqrt(number)

print(«Корень квадратный из числа » + str(number) + » будет равен » + str(sqrt))

Запустив эту программу, мы получим следующий результат:

Корень квадратный из числа 9 будет равен 3

Есть еще один изящный способ извлечения корня на языке программирования Python — применить возведение в степень «0,5». Кстати, такой способ применим и в других языках программирования, где отсутствует функция для вычисления квадратного корня. Как это выглядит в коде:

number = 9

sqrt = number ** (0.5)

print («Корень квадратный из числа «+str(num)+» будет равен «+str(sqrt))

Запуск этой программы выдаст такой же результат, как и в первом случае:

Корень квадратный из числа 9 будет равен 3

Напомним, что символы «**» являются оператором возведения в степень.

Как извлечь квадратный корень в Си

Извлечь корень на С/С++ не сложнее, чем в предыдущих языках программирования, так как здесь для вычисления квадратного корня применяется такая же функция sqrt() из модуля «cmath». 

Как извлечение корня выглядит в коде:

#include <iosteram>

#include <cmath>

using namespace std;

int main()

{

    double y = 9, result;

    result = sqrt(y);

    cout < < “Корень квадратный из числа “ < < y < < “будет равен “ < < result < < endl;

return 0;

}

Запустив эту программу, мы получим следующий результат:

Корень квадратный из числа 9 будет равен 3

Заключение

Квадратный корень в программировании несложно вычислить, если язык программирования содержит стандартные функции и модули для того, чтобы осуществлять подобные вычисления. В других же случаях придется искать дополнительные методы, например, такой как возведение числа в степень 0,5.

We all have come across square roots in mathematics. It is undeniably one of the most important fundamentals and hence needs to be embedded in various applications. Python comes in handy to serve this purpose by making it really simple to integrate Square Roots in our programs. In this article, you will be learning how to find Square roots in Python.

Before going forward, let us take a look at the topics covered over here:

  • What is a Square root?
  • How to Calculate the Square root in Python:
    • Using sqrt() function
    • Using pow() function
  • A working example of Square root in Python

What is a Square root?

The square root is any number y such that x= y. Mathematically it is represented as x = √y. Python provides built-in methods to calculate square roots.

Now that we have a basic idea on what is a square root of a number and how to represent it, let’s move ahead and check how we can get the square root of a number in Python.

How to calculate the Square root in Python?

To calculate Square roots in Python, you will need to import the math module. This module consists of built-in methods namely sqrt() and pow() using which you can calculate the square roots. You can import it by simply using the import keyword as follows:

import math

Once this module is imported, you can make use of any function present within it.

Using sqrt() function

The sqrt() function basically take one parameter and returns the square root it. The syntax of this function is:

SYNTAX:

sqrt(x)   # x is the number whose square root needs to be calculated.

Now, let us take a look at an example of this function:

EXAMPLE:

from math import sqrt   #absolute importing
print(sqrt(25))

OUTPUT:    5.0

As you can see, the square root of 25 i.e 5 has been returned.

NOTE: In the above example, the sqrt() function has been imported using the absolute method. However, if you import the complete math module, you can execute the same as follows:

EXAMPLE:

import math
print(math.sqrt(25))

OUTPUT:    5.0

Using pow() function

Another method to compute the square root of any number is by using the pow() function. This function basically takes two parameters and multiplies them to compute the results. This is done in order to the mathematical equation where,

x= y or y=x**.5

The syntax of this function is as follows:

SYNTAX:

pow(x,y)  # where y is the power of x or x**y 

Now let us take a look at an example of this function:

EXAMPLE:

from math import pow
print(pow(25,.5))

OUTPUT:    5.0

These functions can be used to solve many of the mathematical problems. Let us now take a look at the working example of one such application of these functions.

A working example of Square root in Python

Let us try to implement the very famous Pythagoras Theorem using these functions.

Problem statement:

Accept values of 2 sides of a triangle and calculate the value of its hypotenuse. 

Solution:

Pythagoras theorem states that in a right-angled triangle, the side opposite to the right angle called the hypotenuse is measured as the square root of the sum of squares of measures of the other two sides, which means

c=√(a2+b2)   # where c is the hypotenuse 

Here is the solution in Python:

from math import sqrt  #Imported the square root function from math module
from math import pow     #Imported the power function from math module

a=int(input("Enter the measure of one side of a right angled triangle:"))    
b=int(input("Enter the measure of another side of a right angled triangle:"))    
#input function is used to take input from user and is stored as string
# which is then typecasted into an integer using the int() function.
c=sqrt(pow(a,2)+pow(b,2))       #we have implemented the formula c=√(a2+b2)
print(f"The measure of the hypotenuse is: {c} based on the measures of the other two sides {a} & {b}")      

OUTPUT:

Enter the measure of one side of a right-angled triangle :3
Enter the measure of another side of a right-angled triangle: 4

The measure of the hypotenuse is: 5.0 based on the measures of the other two sides 3 & 4

This brings us to the end of this article on Square Root in Python. I hope you have understood everything clearly.

Make sure you practice as much as possible and revert your experience.  

To get in-depth knowledge on Python along with its various applications, you can enroll for live Python certification course online with 24/7 support and lifetime access. 

Got a question for us? Please mention it in the comments section of this “Square Root in Python” blog and we will get back to you as soon as possible.

Как извлечь корень в Python (sqrt)

Содержание:развернуть

  • Что такое квадратный корень
  • Квадратный корень
  • Положительное число

  • Отрицательное число

  • Ноль

  • Кубический корень
  • Корень n-степени
  • Решение реальной задачи с использованием sqrt

Если вам нужно найти сторону квадрата, когда известна одна лишь его площадь, или вы намерены рассчитать расстояние между двумя точками в декартовых координатах, то без особого инструмента не обойтись. Математики прошлого придумали для этих вычислений квадратный корень, а разработчики Python воплотили его в функции sqrt().

Но обо всём по порядку.

Что такое квадратный корень

Корнем квадратным из числа «X» называется такое число «Y», которое при возведении его во вторую степень даст в результате то самое число «X».

Операция нахождения числа «Y» называется извлечением квадратного корня из «X». В математике для её записи применяют знак радикала:

Нотация питона отличается в обоих случаях, и возведение в степень записывается при помощи оператора «**«:

a = 2
b = a ** 2

print(b)
> 4

А квадратный корень в питоне представлен в виде функции sqrt(), которая существует в рамках модуля math. Поэтому, чтобы начать работу с корнями, модуль math нужно предварительно импортировать:

import math

Функция sqrt() принимает один параметр — то число, из которого требуется извлечь квадратный корень. Тип данных возвращаемого значения — float.

import math
import random

# пример использования функции sqrt()
# отыщем корень случайного числа и выведем его на экран

rand_num = random.randint(1, 100)
sqrt_rand_num = math.sqrt(rand_num)

print('Случайное число = ', rand_num)
> Случайное число = 49

print('Корень = ', sqrt_rand_num)
> Корень = 7.0

Квадратный корень

Положительное число

Именно на работу с неотрицательными числами «заточена» функция sqrt(). Если число больше или равно нулю, то неважно, какой у него тип. Вы можете извлекать корень из целых чисел:

import math

print(math.sqrt(100))
> 10.0

А можете — из вещественных:

import math

print(math.sqrt(111.5))
> 10.559356040971437

Легко проверить корректность полученных результатов с помощью обратной операции возведения в степень:

print(math.sqrt(70.5))
> 8.396427811873332

# возвести в степень можно так
print(8.396427811873332 ** 2)
> 70.5

# а можно с помощью функции pow()
print(pow(8.396427811873332, 2))
> 70.5

Отрицательное число

Функция sqrt() не принимает отрицательных аргументов. Только положительные целые числа, вещественные числа и ноль.

Такая работа функции идёт вразрез с математическим определением. В математике корень спокойно извлекается из чисел меньше 0. Вот только результат получается комплексным, а таким он нужен для относительно узкого круга реальных задач, вроде расчетов в сфере электроэнергетики или физики волновых явлений.

Поэтому, если передадите отрицательное число в sqrt(), то получите ошибку:

print(math.sqrt(-1))
> ValueError: math domain error

Ноль

Функция sqrt() корректно отрабатывает с нулём на входе. Результат тривиален и ожидаем:

print(math.sqrt(0))
> 0.0

Кубический корень

Само название функции sqrt() намекает нам на то, что она не подходит для извлечения корня степени отличной от двойки. Поэтому для извлечения кубических корней, сначала необходимо вспомнить связь между степенями и корнями, которую продемонстрируем на корне квадратном:

Вышеуказанное соотношение несложно доказать и для других степеней вида 1/n.

# Квадратный корень можно извлечь с помощью операции возведения в степень "**"
a = 4
b = a ** 0.5

print(b)
> 2.0

В случае с квадратным или кубическим корнем эти операции действительно эквивалентны, но, вообще говоря, в математике извлечение корня и возведение в дробную степень имеют существенные отличия при рациональных степенях вида m/n, где m != 1. Формально, в дробно-рациональную степень можно возводить только положительные вещественные числа. В противном случае возникают проблемы:

👉 Таким образом, извлечь кубический корень в Python можно следующим образом:

print(pow(8, 1/3))
> 2.0

Или же:

print(8 ** (1/3))
> 2.0

То, что справедливо для корня третьей степени, справедливо и для корней произвольной степени.

# извлечём корень 17-й степени из числа 5600

x = 5600
y = 17
z = pow(x, (1/y))

print(z)
> 1.6614284717080507

# проверяем корректность результата
print(pow(z, y))
> 5600.0

Но раз уж мы разбираемся с математической темой, то попытаемся мыслить более обобщённо. С помощью генератора случайных чисел с заданной точностью будем вычислять корень случайной степени из случайного числа:

import random

# точность можно задать на ваше усмотрение
x = random.randint(1, 10000)
y = random.randint(1, 100)
z = pow(x, (1 / y))
print('Корень степени', y, 'из числа', x, 'равен', z)

# при проверке вероятны незначительные расхождения из-за погрешности вычислений
print('Проверка', pow(z, y))
# но специально для вас автор накликал целочисленный результат
> Корень степени 17 из числа 6620 равен 1.6778624404513571
> Проверка 6620.0

Решение реальной задачи с использованием sqrt

Корень — дитя геометрии. Когда Пифагор доказал свою знаменитую теорему, людям тут же захотелось вычислять стороны треугольников, проверять прямоту внешних углов и сооружать лестницы нужной длины.

Соотношение a2 + b2 = c2, где «a» и «b» — катеты, а «c» — гипотенуза — естественным образом требует извлекать корни при поиске неизвестной стороны. Python-а под рукой у древних греков и вавилонян не было, поэтому считать приходилось методом приближений. Жизнь стала проще, но расчет теоремы Пифагора никто не отменял и в XXI веке.

📡 Решим задачку про вышку сотовой связи. Заказчик требует рассчитать высоту сооружения, чтобы радиус покрытия был 23 километра. Мы неспешно отходим на заданное расстояние от предполагаемого места строительства и задумчиво смотрим под ноги. В голове появляются очертания треугольника с вершинами:

  1. Ваше местоположение;
  2. Центр Земли;
  3. Пиковая высота вышки.

Модель готова, приступаем к написанию кода:

import math

# расстояние от вас до вышки
from_you_to_base_station = 23

# радиус земли
earth_radius = 6371

# расчет расстояния от центра земли до пика сооружения по теореме Пифагора
height = math.sqrt(from_you_to_base_station ** 2 + earth_radius ** 2)

# расчет высоты вышки(км)
base_station_height = height - earth_radius

print('Требуемая высота(м): ', round(base_station_height * 1000))

> Требуемая высота(м): 42

Расчёт выполнен, результат заказчику предоставлен. Можно идти пить чай и радоваться тому, что теперь ещё больше людей смогут звонить родным и сидеть в интернете.

В Python есть предопределенная функция sqrt(), которая возвращает квадратный корень числа. Она определяет квадратный корень из значения, которое умножается на само себя и дает число. Функция sqrt() не используется напрямую для нахождения квадратного корня из заданного числа, поэтому нам нужно использовать математический модуль для вызова функции sqrt() в Python.

Например, квадратный корень из 144 равен 12.

квадратный корень вычисление

Использование метода math.sqrt()

Функция sqrt() – это встроенная функция, которая возвращает квадратный корень из любого числа. Ниже приведены шаги, чтобы найти квадратный корень из числа.

  1. Запустите программу.
  2. Определите любое число, квадратный корень которого нужно найти.
  3. Вызовите функцию sqrt() и передайте значение, которое вы определили на шаге 2, сохраните результат в переменной.
  4. Выведите квадратный корень.
  5. Завершите программу.

Давайте напишем программу на Python.

SqrRoot.py

 
import math # import math module 
N = 25 # define the value to the variable N  
result = math.sqrt(N) # use math.sqrt() function and pass the variable. 
print(" Square root of 25 is :", result) # prints the square root of a given number  
M = 625 # define the value 
result = math.sqrt(M) # use math.sqrt() function and pass the variable 
print(" Square root of 625 is :", result) # prints the square root of a given number  
 
P = 144 # define the value 
result = math.sqrt(P) # use math.sqrt() function and pass the variable 
print(" Square root of 144 is :", result) # prints the square root of a given number  
 
S = 64 # define the value 
result = math.sqrt(S) # use math.sqrt() function and pass the variable 
print(" Square root of 64 is :", result) # prints the square root of a given number 

Выход:

Найти квадратный корень числа

Давайте создадим программу на Python, которая находит квадратный корень десятичных чисел.

SqrRoot.py

 
import math 
print(" The Square root of 4.5 is", math.sqrt(4.5)) # Pass the decimal number 
print(" The Square root of 627 is", math.sqrt(627)) # Pass the decimal number 
print(" The Square root of 6.25 is", math.sqrt(6.25)) # Pass the decimal number 
 
print(" The Square root of 0 is", math.sqrt(0)) # Pass number as 0 

Выход:

Квадратный корень десятичных чисел

В следующей программе мы прочитали число от пользователя и нашли квадратный корень.

SqRoot_Usr.py

 
import math # import math module 
a = int(input("Enter a number to get the Square root")) # take an input  
res = math.sqrt(a) # Use math.sqrt() function and pass the variable a. 
print("Square root of the number is", res) # print the Square Root 

Выход:

SqRoot_Usr.py

Использование функции math.pow()

Pow() – это встроенная функция, которая используется в Python для возврата степени числа. У него два параметра. Первый параметр определяет число, а второй параметр определяет увеличение мощности до этого числа.

Pow_Sqrt.py

 
import math # import the math module 
num = float(input("Enter the number :")) # take an input 
SquareRoot = math.pow(num, 0.5) # Use the math.pow() function and pass the value and 0.5(which is equal to √) as an parameters 
print(" The Square Root of the given number {0} = {1}" .format(num, SquareRoot)) # print the Square Root. 

Выход:

Pow()

Использование оператора **

Мы также можем использовать оператор экспоненты, чтобы найти квадратный корень из числа. Оператор может применяться между двумя операндами. Например, x ** y. Это означает, что левый операнд возведен в степень правого.

Ниже приведены шаги, чтобы найти квадратный корень из числа.

  • Шаг 1. Определите функцию и передайте значение в качестве аргумента.
  • Шаг 2. Если заданное число меньше 0 или отрицательное, оно ничего не возвращает.
  • Шаг 3. Используйте экспоненциальный знак **, чтобы найти степень числа.
  • Шаг 4. Возьмите числовое значение у пользователя.
  • Шаг 5. Вызовите функцию и сохраните ее вывод в переменной.
  • Шаг 6. Отобразите квадратный корень числа в Python.
  • Шаг 7. Выход из программы.

Давайте реализуем вышеуказанные шаги.

SqrtFun.py

 
import math # import the math package or module 
def sqrt_fun(num): # define the sqrt_fun() and pass the num as an argument 
    if num < 0:  # if num is less than 0 or negative, it returns nothing 
        return 
    else: 
        return num ** 0.5 # Use the exponent operator  
num = int(input(" Enter a numeric value: ") ) # take an input from the user 
 
res = sqrt_fun(num) # call the sqrt_fun() to find the result 
print("  Square Root of the {0} = {1}".format(num, res)) # print the Square Root of the variable 

Выход:

SqrtFun.py

Как мы видим в приведенном выше примере, сначала мы берем ввод(число) от пользователя, а затем используем оператор степени **, чтобы узнать степень числа. Где 0,5 равно √(символ корня), чтобы увеличить степень данного числа.

Давайте создадим программу Python, которая находит квадратный корень из указанного диапазона, в следующей программе вычисление из всех чисел от 0 до 50.

Sqrloop.py

 
import math 
for i in range(50): 
    print("Square root of a number {0} = {1}".format(i,math.sqrt(i))) 

Выход:

Квадратный корень из указанного диапазона

Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.

Понравилась статья? Поделить с друзьями:
  • Как начинающему стилисту найти клиентов
  • Как найти таблицу в компе
  • Как исправить порванный линолеум на полу
  • Как найти игрушки черепашек ниндзя
  • Как найти внешнее сопротивление в замкнутой цепи