Вычислить 7 ^ 77 - QBasic
Формулировка задачи:
Листинг программы
- REM
- REM Контрольное вычисление
- REM 7 ^ 77 = 1.181 813 865 805 959 D+65
- REM
- DECLARE FUNCTION M! (i!)
- DECLARE FUNCTION ST$ (n!)
- DECLARE SUB Si7 ()
- CLS
- DIM SHARED S AS STRING
- S = "49"
- FOR i = 1 TO 75
- CALL Si7
- NEXT
- PRINT S
- END
- FUNCTION M (i)
- M = VAL(MID$(S, i, 1))
- END FUNCTION
- SUB Si7
- DIM t AS STRING
- FOR i = LEN(S) TO 1 STEP -1
- a = 7 * M(i) + p
- b = a MOD 10
- p = a \ 10
- t = ST(b) + t
- NEXT
- IF p THEN
- S = ST(p) + t
- ELSE
- S = t
- END IF
- END SUB
- FUNCTION ST$ (n)
- ST = LTRIM$(STR$(n))
- END FUNCTION
Решение задачи: «Вычислить 7 ^ 77»
textual
Листинг программы
- DIM i AS LONG, j AS LONG, l AS LONG, a(999) AS LONG, b AS LONG, c AS LONG
- a(0) = 1
- FOR i = 1 TO 77
- j = -1
- WHILE j < l OR c > 0
- j = j + 1
- b = a(j) * 7 + c
- a(j) = b MOD 10
- c = b \ 10
- WEND
- l = j
- NEXT i
- FOR i = 0 TO l
- PRINT LTRIM$(STR$(a(l - i)));
- NEXT i
Объяснение кода листинга программы
- Установка начального значения переменной i равным 1.
- Установка начального значения переменной j равным -1.
- Установка начального значения переменной l равным -1.
- Установка начального значения переменной a(999) равным 1.
- Установка начального значения переменной b равным 0.
- Установка начального значения переменной c равным 0.
- Установка значения переменной a(0) равным 1.
- Цикл FOR для перебора значений i от 1 до 77.
- Установка начального значения переменной j равным -1.
- Условие WHILE для выполнения цикла, пока значение переменной j меньше значения переменной l или значение переменной c больше нуля.
- Увеличение значения переменной j на единицу.
- Вычисление значения переменной b как суммы произведения значения переменной a(j) на 7 и значения переменной c.
- Сохранение остатка от деления значения переменной b на 10 в переменной a(j).
- Вычисление значения переменной c как целой части от деления значения переменной b на 10.
- Повтор цикла WHILE до тех пор, пока значение переменной j меньше значения переменной l или значение переменной c больше нуля.
- Установка значения переменной l равным значению переменной j.
- Выход из цикла FOR.
- Цикл FOR для перебора значений i от 0 до значения переменной l.
- Вывод значения переменной a(l-i) с помощью функции PRINT.
- Выход из цикла FOR.
- Вывод символа новой строки с помощью функции PRINT.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д