Форум программистов, компьютерный форум, киберфорум
Наши страницы

QBasic

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
АББА
133 / 60 / 7
Регистрация: 08.11.2012
Сообщений: 250
#1

Возведение в степень - QBasic

28.01.2013, 00:46. Просмотров 1956. Ответов 25
Метки нет (Все метки)

Надо найти следующее:
9^999999+9^999999
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 00:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возведение в степень (QBasic):

Длинная арифметика. Возведение в степень - QBasic
даны N и M (N,M >100;N,M <999 ) вычислить по формуле: s=n^m+m^n Добавлено через 1 минуту но только чтобы показала весь ответ

возвести в степень - Basic
ДАНО: n - целое число, x-действительное число. ВЫЧИСЛИТЬ, не используя операцию возведения в степень ^

Возвести число в степень - QBasic
Помогите с задачками на циклы. Дано вещественное число A и целое число N(>0). Вывести A в степени N:AN=A*A*...*A (числа A...

Возвести число в степень - QBasic
плиз, прошу помощи в реализации проги, никак не могу придумать алгоритм перевода в СС. Задача такая: возвести число в степень...

Вычислить н-ый степень корня численным методом - QBasic
ВСЕМ ПРИВЕТ:) ПОМОГИТЕ НАЙТИ ОШИБКУ. нужно вычислить н-ый степень корня численным методом, вот моя программа, она выдает ошибку syntax...

Возвести все отрицательные элементы матрицы в третью степень - QBasic
Дана матрица (или 2хмерный массив, точно уже не помню) 3 на 3 . Все отрицательные числа возвести в 3ю степень. Из полученных значений...

25
vodav
561 / 131 / 20
Регистрация: 12.03.2012
Сообщений: 374
28.01.2013, 08:10 #2
А какая нужна точность, возможность операций с плавающей точкой?
0
Апострофф
Заблокирован
28.01.2013, 08:57 #3
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
DIM i AS LONG, m AS DOUBLE, e AS LONG
m = 2
FOR i = 1 TO 999999
  m = m * 9
  IF m >= 10 THEN
    m = m / 10
    e = e + 1
  END IF
NEXT i
PRINT STR$(m) + "e" + STR$(e)
А считать с точностью до последнего знака мегабайтный массив (тем более строку) жизни не хватит, да и показать (вывести) результат будет та ещё проблема
2
vodav
561 / 131 / 20
Регистрация: 12.03.2012
Сообщений: 374
29.01.2013, 06:28 #4
Спасибо, умылся. А я-то хотел по старинке логарифмы заплести. Представил, что для универсального условия S= m^n+k^l это будет оптимальней.
0
m-ch
5229 / 776 / 212
Регистрация: 25.02.2011
Сообщений: 1,063
Записей в блоге: 1
30.01.2013, 00:50 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Апострофф Посмотреть сообщение
А считать с точностью до последнего знака мегабайтный массив (тем более строку) жизни не хватит
Я бы не был столь категоричным, чтобы посчитать все 954242 значащих цифры данного математического выражения у меня, на моем довольно таки слабом компьютере, заняло чуть более часа, павда пришлось немного оптимизировать код.
Делал на VBA
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub www()
    Dim a(250000) As Long, b  As Long, c As Long
    Dim i As Long, j As Long, l As Long, n As Long, m As Long
    Dim t As Single
    
    Open "Output.txt" For Output As #1
    
    n = 249999
    m = 6561
 
    a(0) = 1458
    
    t = Timer
    For i = 1 To n
        j = -1
        While j < l Or c > 0
            j = j + 1
            b = a(j) * m + c
            a(j) = b Mod 10000
            c = b \ 10000
        Wend
        l = j
    Next
    Print #1, a(l) & "";
    For i = 1 To l
        Print #1, Right$("0000" & a(l - i), 4);
    Next
    Close
    Debug.Print Timer - t
End Sub
3
Вложения
Тип файла: rar Output.rar (405.8 Кб, 21 просмотров)
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
30.01.2013, 01:36 #6
Ради интереса решил запустить вычисления на плюсах, в реализации с использованием бинарного возведения в степень и одновременной работе с 9 разрядами числа. В итоге вычисление заняло чуть меньше 5 минут, но это все равно слишком долго
1
m-ch
5229 / 776 / 212
Регистрация: 25.02.2011
Сообщений: 1,063
Записей в блоге: 1
18.01.2016, 02:01 #7
Цитата Сообщение от m-ch Посмотреть сообщение
у меня, на моем довольно таки слабом компьютере, заняло чуть более часа
Скомпилировал и запустил свой код из 5го поста во FreeBasic
Расчет занял 219 секунд (чуть более 3,5 минут), что достаточно эффективно по сравнению с VBA
i7-3630QM 2.40GHz
1
Pro_grammer
Модератор
6070 / 2149 / 403
Регистрация: 24.04.2011
Сообщений: 3,696
Записей в блоге: 10
18.01.2016, 08:23 #8
Цитата Сообщение от m-ch Посмотреть сообщение
Скомпилировал и запустил свой код из 5го поста во FreeBasic
Расчет занял 219 секунд (чуть более 3,5 минут), что достаточно эффективно по сравнению с VBA
i7-3630QM
Скомпилировал в VB6 этот же код. Результат 128 с. Рвет наш древний VB6 молодой FreeBasic как Тузик грелку!
Про Плюсы вообще не говорю, там позор.
Возведение в степень

Проц у меня вообще i3-2120...
0
Quiet Snow
4378 / 1258 / 208
Регистрация: 25.04.2010
Сообщений: 3,064
18.01.2016, 20:05 #9
Рвет наш древний VB6 молодой FreeBasic как Тузик грелку!
Вы хоть сами в это верите, что FB может уступать в 2 раза?
Я вот портил толстый проект, где была жёсткая триггерная логика и дофигище прогонов
по памяти, уступал PB-шной проге точно такой же с точно такой же логикой процента
2-3 максимум, при том что FB-шная прога тормозилась больше своей FBGfx. У PB всё
завёрнуто в макросы и отрабатывало аппаратно. Это при условии, что в FB ничего не
мутил с опциями оптимизации, которые там есть.

Не надо про тузика и грелку, потестите в задачах чуть более навороченных вычислениями
чем данный суррогатный учебный код. Более того нужно уточнять как вы запускаете VB код,
уточнять условия процессор(его разгон, если таковой имеется). И тестить две программы
рядом на одной машине.

Добавлено через 25 минут
Выкладывайте ваши коды на FB и VB, будем смотреть по типам данных.
Ещё бы не помешал exe-шник VB-шный, в IDA заправлю посмотрю и в FB листинг сгенерю.
0
Pro_grammer
Модератор
6070 / 2149 / 403
Регистрация: 24.04.2011
Сообщений: 3,696
Записей в блоге: 10
18.01.2016, 21:19 #10
Цитата Сообщение от Quiet Snow Посмотреть сообщение
потестите в задачах чуть более навороченных вычислениями
чем данный суррогатный учебный код
Тут речь идет о конкретном коде и этот код написан в сообщении №5 под спойлером. А что там у вас и где наворочено известно только вам.
Про проц я написал, i3-2120 и это гораздо более дешёвый проц, чем i7-3630QM. Если допустить, что i7 хуже моего i3 в 2 раза, то эксперимент ни о чем
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Ещё бы не помешал exe-шник VB-шный,
А экзешник это всегда пожалуйста, вместе с проектом.
Я бы тоже для чистоты эксперимента на своей машине прогнал exe-шник FB, тогда уже можно было бы точно сказать, что быстрее.
0
Вложения
Тип файла: zip Степень.zip (4.5 Кб, 9 просмотров)
Pro_grammer
Модератор
6070 / 2149 / 403
Регистрация: 24.04.2011
Сообщений: 3,696
Записей в блоге: 10
18.01.2016, 21:51 #11
Похоже чуда не произошло, и мой процессор реально хуже чем i7. Скомпилировал этот же код в режиме консоли на FB build 1.00, вот итог - 475 секунд против 128 на VB6.
В защиту FB могу сказать, что компилировал без каких либо специальных настроек, прямо как есть на скрине:
0
Миниатюры
Возведение в степень  
Pro_grammer
Модератор
6070 / 2149 / 403
Регистрация: 24.04.2011
Сообщений: 3,696
Записей в блоге: 10
18.01.2016, 21:54 #12
Да, выходной файл и FB и VB6 формируют одинаковый, так что ошибки в коде или там иные хитрости исключены - результат работы одинаковый, а вот время увы...
0
Вложения
Тип файла: zip Samples.zip (18.7 Кб, 14 просмотров)
The trick
Модератор
7263 / 2481 / 745
Регистрация: 22.02.2013
Сообщений: 3,565
Записей в блоге: 74
18.01.2016, 22:13 #13
Кинь пожалуйста EXE от FB.
0
Pro_grammer
Модератор
6070 / 2149 / 403
Регистрация: 24.04.2011
Сообщений: 3,696
Записей в блоге: 10
18.01.2016, 22:26 #14
Цитата Сообщение от The trick Посмотреть сообщение
EXE от FB
Вставил выше в сообщение
1
The trick
Модератор
7263 / 2481 / 745
Регистрация: 22.02.2013
Сообщений: 3,565
Записей в блоге: 74
18.01.2016, 22:44 #15
Думаю тут все понятно:
Возведение в степень
0
18.01.2016, 22:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2016, 22:44
Привет! Вот еще темы с ответами:

Все отрицательные числа матрицы возвести в третью степень - QBasic
Все отрицательные числа возвести в третью степень. Из полученных значений сформировать одномерный массив.

Как возвести в квадрат отрицательные числа и в третью степень положительные - QBasic
Народ кто знает помогите. Дали задачи в технаре ... не могу решить. Аш инересно стало. Если не трудно конечно же вот первая. На ветвление...

Возвести в квадрат те числа, значения которых неотрицательны, и в четвертую степень — отрицательные - QBasic
1. Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень — отрицательные. ...

Все отрицательные числа возвести в третью степень. Из полученных значений сформировать одномерный массив - QBasic
Все отрицательные числа возвести в третью степень. Из полученных значений сформировать одномерный массив. желательно чтобы ввод чисел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.