Страница: 1 | 2 | 3 |
Вопрос: Help me, please. Как на VB6 взять корень степени N
Добавлено: 28.07.04 23:37
Автор вопроса: seumain
Привет ! Совсем ничего не получается и застрял наглухо. Помогите, пожалуйста - как на VB6 взять корень степени N? Задача при определении геометрического среднего.
Спасибо, Аркадий
seu278@ua.fm
Ответы
Всего ответов: 42
Номер ответа: 1
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #1
Добавлено: 29.07.04 00:07
Чет ничего не нашёл в MSDN'е
Вот с ходу написал. Вроде работает.
MsgBox 2 ^ 5 '=32
 im SqrDiv As Double
SqrDiv = 1 / 5 'Корень 5 степени
MsgBox 32 ^ SqrDiv '=2
Номер ответа: 2
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #2
Добавлено: 29.07.04 10:54
И вот так мона
Public Function power(ByVal a, n As Double) As Double
If a = 0 Then
power = 0
Else
power = Exp(n * Log)
End If
End Function
Номер ответа: 3
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #3
Добавлено: 29.07.04 10:55
аяяй забыл byVal написать
Public Function power(ByVal a, ByVal n As Double) As Double
Номер ответа: 4
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #4
Добавлено: 29.07.04 11:30
x^1/N
x - число
N - показатель степени
Номер ответа: 5
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #5
Добавлено: 29.07.04 11:47
dNW,
Это хорошо что смог прочесть мой пример. Но взял бы хоть в IDE его протестировал.
То что ты написал - не выдаёт верного результата.
Номер ответа: 6
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #6
Добавлено: 29.07.04 11:59
alexis_b,
Ты забыл написать как с этим работать.
Корень из 16:
MsgBox power(16, 1 / 2)
Номер ответа: 7
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #7
Добавлено: 29.07.04 13:15
Это точно извеняйте
Номер ответа: 8
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #8
Добавлено: 29.07.04 13:16
4dNW,
поясняю: то что ты написал равносильно вот этому
(x^1)/N, т.е. сначала х в степень 1 а потом делем на N
Номер ответа: 9
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #9
Добавлено: 29.07.04 14:23
Я имел ввиду x^(1/n)
Извиняйте )))
Номер ответа: 10
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #10
Добавлено: 29.07.04 14:26
to CyRax: Вот теперь точно работает!
И в пример твой я не смотрел! Чес-слово!
8^(1/3) дает 2!!!
Номер ответа: 11
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #11
Добавлено: 29.07.04 21:22
dNW,
Я тоже плохо знаю приоритеты арифметических операций
Похоже что возведение в степень имеет более низкий приоритет чем деление.
Номер ответа: 12
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #12
Добавлено: 29.07.04 21:24
Хотя нет, наоборот, у деления приоритет ниже.
Номер ответа: 13
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #13
Добавлено: 30.07.04 09:12
У них у обоих приоретет одинаковый т.к. деление это умножение Здесь играет роль порядок в котором они записанны.
Номер ответа: 14
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #14
Добавлено: 30.07.04 10:59
CyRax, тебе что? Старый профиль разблокировали?
Номер ответа: 15
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #15
Добавлено: 30.07.04 20:43
Учим математику
Public Function Koren(a As Integer, b As Integer) As Integer
Dim temp1 As Single: Dim temp2 As Single
temp1 = Log(b)
temp2 = Log
Koren = temp1 / temp2
End Function