Вычисление суммы необычного ряда (5) - QBasic
Формулировка задачи:
Условия задачи
1. Сначала задается число которое образуется, если писать
вместе кубы всех натуральных чисел от 1 до 100, то есть
Пример 1, 8, 27, 64, ...., но пишется так 182764...
2. Из этого числа образуется нужный нам ряд
берется первая цифра не равная 0 (нули игнорируются)
в нашем случае это цифра 1 и ей сопоставляется первое
слагаемое cos(1)
3. Берется вторая цифра, в нашем случае это 8, и ей сопоставляется
второе слагаемое:
cos(cos(cos(cos(cos(cos(cos(cos(1))))))))/2
Надеюсь вы поняли, количество косинусов равно нашей цифре
Их вычисление от числа 1 (всегда) последняя цифра (2) равна
номеру слагаемого.
Надо просуммировать все слагаемые. Эта программа вычислила
и получила число 4.495811. Учитывая погрешность в ответ
пойдет число 4.496
Вопросы
1. Вам нравятся такие задачи?
2. Вы решали подобные задачи?
3. Можно ли здесь использовать рекурсию?
4. Есть ли иное решение данной задачи?
Решение задачи: «Вычисление суммы необычного ряда (5)»
textual
Листинг программы
DIM i AS LONG, n AS LONG, k AS LONG, s AS DOUBLE, x(9) AS DOUBLE x(0) = 1 FOR i = 1 TO 9 x(i) = COS(x(i - 1)) NEXT i x(0) = 0 FOR i = 1 TO 100 n = i ^ 3 WHILE n k = k + 1 s = s + x(n MOD 10) / k n = n \ 10 WEND NEXT i PRINT s
Объяснение кода листинга программы
Список действий в данном коде:
- Создаются пять переменных: i, n, k, s и массив x.
- В массиве x первым элементом задаётся значение 1.
- С помощью цикла FOR вычисляются все последующие элементы массива x по формуле x(i) = COS(x(i - 1)).
- Значение первого элемента массива x (косинус первого угла) меняется на 0.
- С помощью цикла FOR вычисляется сумма ряда по формуле s = s + x(n MOD 10) / k.
- Сумму ряда выводят на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д