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

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

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

Сообщение АндрейБ » 20.02.2005 (Вс) 20:04

Подскажите пожалуйста функцию высчитывающую корень квадратный.
Кто ищет, тот всегда найдет ...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.02.2005 (Вс) 20:08

Изображение

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 20.02.2005 (Вс) 20:44

или так:
Код: Выделить всё
X ^ (1 / 2)

на случай если кубический:
Код: Выделить всё
X ^ (1 / 3)
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 20.02.2005 (Вс) 20:48

Корень n-й степени:
Код: Выделить всё
X ^ (1 / n)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.02.2005 (Вс) 21:03

Ну, разошлись... А так слабо?
Код: Выделить всё
Exp(Log(X) / n)
Изображение

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Сообщение АндрейБ » 20.02.2005 (Вс) 21:50

Спасибо за полноту ответа.
Кто ищет, тот всегда найдет ...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.02.2005 (Пн) 8:51

tyomitch, а если X равен 0? :)
Lasciate ogni speranza, voi ch'entrate.

VAngel
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 81
Зарегистрирован: 13.01.2005 (Чт) 0:10
Откуда: 2:5030

Сообщение VAngel » 21.02.2005 (Пн) 11:23

Можно еще и через простые функции, сложение вычитание, умножение и деление.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.02.2005 (Пн) 11:25

VAngel, а не покажешь ли, как при поможи сложения и вычитания найти квадратный корень числа?
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.02.2005 (Пн) 11:34

Как ни странно, алгоритм действительно есть :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.02.2005 (Пн) 11:35

GSerg, правда???
Рекурсивный?
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.02.2005 (Пн) 11:43

Пойду поищу :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.02.2005 (Пн) 12:25

Справочник по математике
А.Г. Цыпкин


Рассмотрим на конкретном примере алгоритм извлечения квадратного корня для случая, когда число, стоящее под знаком корня, является квадратом натурального числа. Пусть требуется вычислить корень из 33489. Число 33489 разобьём на группы цифр (по две цифры), двигаясь справа налево:
Код: Выделить всё
3   34   89


Ищем наибольшее число, квадрат которого не превосходит числа 3, стоящего в первой группе цифр. Этим числом будет число 1. Записываем его в ответ. Возводим эту единицу в квадрат и вычитаем из числа 3. К полученной разности приписываем вторую группу цифр. Получаем число 234.
Удваиваем число, которое было записано в ответ (в нашем случае 1) и приписываем к полученному числу справа такую наибольшую цифру, чтобы произведение полученного двузначного числа на эту цифру не превосходило 234. В нашем случае это цифрой будет 8:
Код: Выделить всё
28 * 8 = 224 < 234


Пишем цифру 8 вслед за цифрой 1 в ответ. Из числа 234 вычитаем число 224 и к полученной разности приписываем последнюю группу цифр. Получаем число 1089.
Удваиваем число, которое было записано в ответ (в нашем случае 18), и приписываем справа к полученном числу (в нашем случае 36) такую наибольшую цифру, чтобы произведение полученного трёхзначного числа на приписанную цифру не превосходило числа 1089. В нашем случае это будет цифра 3:
Код: Выделить всё
363 * 3 = 1089


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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.02.2005 (Пн) 12:38

Круто :)
А как с рациональными числами?
Lasciate ogni speranza, voi ch'entrate.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 24.02.2005 (Чт) 9:00

VAngel писал(а):Можно еще и через простые функции, сложение вычитание, умножение и деление.

GSerg писал(а):Как ни странно, алгоритм действительно есть


А чего же тут странного????

Есть много таких алгоритмов, например :
Код: Выделить всё
Do While n*n<nado
  n=n+1
Loop

:D :D


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 13

    TopList