Вычисление суммы необычного ряда (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. Есть ли иное решение данной задачи?
Листинг программы
  1. REM Карфаген должен быть разрушен!!
  2. REM (Карфаген - это 2-3 типа задач (например матрицы,
  3. REM Их сортировка, поиск максимума, вычисление суммы....))
  4. REM
  5. REM 182764125216343512729 ...
  6. REM
  7. REM COS(1) + COS(COS(COS(... / 2 + ...
  8. REM
  9. REM OTBET: 4.495811
  10. REM
  11. DECLARE FUNCTION f$ (n!)
  12. DECLARE FUNCTION M! (n!)
  13. CLS
  14. CONST n = 100
  15. DIM SHARED T AS STRING
  16. FOR i = 1 TO n
  17. T = T + f(i)
  18. NEXT
  19. FOR i = 1 TO LEN(T)
  20. IF M(i) THEN
  21. x = 1
  22. FOR j = 1 TO M(i)
  23. x = COS(x)
  24. NEXT
  25. S = S + x / i
  26. END IF
  27. NEXT i
  28. PRINT S
  29. END
  30. FUNCTION f$ (n)
  31. f = LTRIM$(STR$(n ^ 3))
  32. END FUNCTION
  33. FUNCTION M (n)
  34. M = VAL(MID$(T, n, 1))
  35. END FUNCTION

Решение задачи: «Вычисление суммы необычного ряда (5)»

textual
Листинг программы
  1. DIM i AS LONG, n AS LONG, k AS LONG, s AS DOUBLE, x(9) AS DOUBLE
  2. x(0) = 1
  3. FOR i = 1 TO 9
  4.     x(i) = COS(x(i - 1))
  5. NEXT i
  6. x(0) = 0
  7. FOR i = 1 TO 100
  8.     n = i ^ 3
  9.     WHILE n
  10.         k = k + 1
  11.         s = s + x(n MOD 10) / k
  12.         n = n \ 10
  13.     WEND
  14. NEXT i
  15. PRINT s

Объяснение кода листинга программы

Список действий в данном коде:

  1. Создаются пять переменных: i, n, k, s и массив x.
  2. В массиве x первым элементом задаётся значение 1.
  3. С помощью цикла FOR вычисляются все последующие элементы массива x по формуле x(i) = COS(x(i - 1)).
  4. Значение первого элемента массива x (косинус первого угла) меняется на 0.
  5. С помощью цикла FOR вычисляется сумма ряда по формуле s = s + x(n MOD 10) / k.
  6. Сумму ряда выводят на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы