Возведение в степень - QBasic
Формулировка задачи:
Надо найти следующее:
9^999999+9^999999
Решение задачи: «Возведение в степень»
textual
Листинг программы
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
Объяснение кода листинга программы
В этом коде выполняется вычисление числа, возведенного в степень.
- Создаются массивы a, b, c, i, j, l, n, m, t.
- Открывается файл
Output.txt
для записи. - Присваиваются значения переменным n и m.
- Задается начальное значение переменной a(0).
- Засекается время выполнения программы.
- Цикл For i = 1 To n выполняет вычисления.
- Переменная j инициализируется значением -1.
- Цикл While j < l Or c > 0 выполняет вычисления, увеличивая значение j на 1.
- Значение переменной b вычисляется как произведение a(j) и m, с последующим взятием остатка от деления на 10000 (для циклического сдвига влево на 14 цифр).
- Значение переменной c вычисляется как частное от деления b на 10000.
- После выхода из цикла While, значение переменной l присваивается значение j.
- После цикла For, выводится значение переменной a(l) в файл
Output.txt
. - Затем, в цикле For i = 1 To l, выводятся значения a(l - i) в формате 4-х цифр с ведущими нулями.
- Файл
Output.txt
закрывается. - Выводится время, затраченное на выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д