Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
Добрый день!! Может кто-нибудь сталкивался с такой задачкой: Есть 2 числа A и Б , нужно вычислить A в Б-й степени, числа A и Б могут быть положительными либо отрицательными числами от -32 до 32. При этом нет необходимости использовать функции Бэйсика :). Я уже додумался как сделать такую программку: Dim a As Integer Dim x As Integer, I As Integer, r As Double a = 2 'osnovanie stepeni x = -2 'stepen r = a For I = 1 To Abs(x) - 1 r = r * a Next I If x = 0 Then r = 1 If x < 0 Then r = 1 / r И соответственно вопрос немного усложним :). Степень числа Б может быть double, т.е 1/3 ,4/3 итд. Как в этом случае можно было бы написать программу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 12:52 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
используя математику, хочу предложить следующий вариант Код: plaintext I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 14:04 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
В данном случае это использовать функции. Что нежелательно в постановке задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 14:11 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
я много искал в интернете, когда уже сам сделал в vb эту задачу, было много примеров на c++, но алгоритм был такой же. Для решения этой задачи необходимо использовать только: + , -, *, / ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 14:15 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
KLUGEST, алгоритмически задача прямая, как палка. А вот математически весьма интересна. См. Ряд Тейлора , в частности обратите внимание на ряды Маклорена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 14:54 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
да, это очень похоже на то что мне нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2009, 15:11 |
|
||
|
Интересная алгоритмическая задача
|
|||
|---|---|---|---|
|
#18+
В итоге обошёлся без рядов Тэйлора, методом подбора, с определённой заданой точностью, и программа получилась просто жесть : Dim a As Double Dim f As Integer, a1 As Integer, a2 As Double, a3 As Double, a4 As Double, k As Integer, I As Integer Dim a5 As Double, i1 As Integer, r As Long, k1 As Integer, k2 As Integer 'raschet chisla v lyuboy stepeni n = 20 ' opredelitel tochnosti a = 16 'osnovanie stepeni k = 4 ' stepen znamenatel k1 = 2 ' stepen chislitel If a < 0 Then a = -a If a = 0 Then a = 1 If k = 0 Then k = 1 a2 = a / 2 a5 = a2 a4 = 0 For f = 1 To n a3 = a2 For I = 1 To k - 1 r = a3 For i1 = 1 To a2 - 1 r = r + a3 Next i1 a3 = r Next I If k = 1 Then f = n + 1: a5 = a: a3 = 0 If k = -1 Then f = n + 1: a5 = 1 / a: a3 = 0 If a3 > a Then a2 = a2 - a5 + a5 / 2: a5 = a5 / 2 If a3 = a Then a4 = a4 + a5: f = n + 1 If a > a3 Then a4 = a4 + a5: a5 = a2 / 2: a2 = a2 + a5 Next f If k < 0 Then a4 = 1 / a4 'a4 rezultat Dim x As Integer, r1 As Double a = a4 'osnovanie stepeni x = k1 'stepen znamenatel a1 = a r1 = a For I = 1 To Abs(x) - 1 For i1 = 1 To a - 1 r1 = r1 + a1 Next i1 a1 = r1 Next I If x = 0 Then r1 = 1 If x < 0 Then r1 = 1 / r1 MsgBox "Rezultat: " & vbCrLf & _ r1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2009, 00:12 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36242093&tid=2160514]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 138ms |

| 0 / 0 |
