Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 18.04.2012
Сообщений: 25

вычислить сумму: S=k^2-(2k)^2+(3k)^2-...+(-1)^(n-1)*(kn)^2

18.04.2012, 14:24. Показов 4210. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вычислить сумму:

https://www.cyberforum.ru/cgi-bin/latex.cgi?S=k^2 - (2 k)^2 + (3 k)^2 - \, \ldots \, + (-1)^{n-1} (k n)^2
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.04.2012, 14:24
Ответы с готовыми решениями:

Вычислить сумму и найти число слагаемых, которые вошли в эту сумму
Вычислить сумму и найти число слагаемых, которые вошли в эту сумму. Процессы вычисление требуется остановить, когда слагаемое по модулю...

Вычислить сдельную зарплату работника, а также сумму налога и сумму на руки.
Вычислить сдельную зарплату работника, а также сумму налога и сумму на руки. Значения рассчитать по формулам: <зарплата> =...

Ввести с клавиатуры 3 числа А, В, С. Вычислить сумму А и В, затем эту сумму умножить на С
Задание №1 Тема: Линейные алгоритмы. Составить блок-схему. Ввести с клавиатуры 3 числа А, В, С. Вычислить сумму А и В, затем...

26
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,765
Записей в блоге: 14
30.04.2012, 16:45
Студворк — интернет-сервис помощи студентам
Вот решение без dotimes:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(defun sum-1 (n k)
  (prog (p s i)         ;; локальные переменные
    (setq p 1)
    (setq s 0)
    (setq i 1)
@   (setq s (+ s (* i k i k p)))
    (setq p (- p))
    (setq i (+ 1 i))
    (cond ((<= i n) (go @))
          (t (return s)))
))
 
==> sum-1
 
(sum-1 3 1)
 
==> 6
 
(sum-1 2 1)
 
==> -3
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
30.04.2012, 16:54
Цитата Сообщение от Наталья90 Посмотреть сообщение
и можно ли написать эту программу используя функции. люди добрые, знает кто-нибудь ответы на эти вопросы?!
не, ну если только так:
Lisp
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
31
32
(defmacro delay (expr)
  `(lambda () ,expr))
 
(defun force (thunk)
  (funcall thunk))
 
(defun unfold-lazy (gen-value next-seed stop-p seed)
  (if (funcall stop-p seed)
      nil
      (cons (funcall gen-value seed)
            (delay (unfold-lazy gen-value next-seed stop-p
                                (funcall next-seed seed))))))
 
(defun foldl-stream (fun acc stream)
  (if stream
      (foldl-stream fun 
                    (funcall fun acc (car stream))
                    (force (cdr stream)))
      acc))
 
 
(defun series (k &optional n &aux (k2 (* k k)))
  (unfold-lazy #'(lambda (i) (* (if (oddp i) 1 -1) i i k2))
               #'(lambda (i) (1+ i))
               (if n
                   #'(lambda (i)
                       (> i n))
                   (constantly nil))
               1))
 
(defun partial-sum (k n)
  (foldl-stream #'+ 0 (series k n)))
2
30.04.2012, 16:56

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
если только так
10 из 10, господи, 10 из 10!

1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,765
Записей в блоге: 14
30.04.2012, 17:21
Вот прозрачное решение, не содержащее ни одного setq (т.е. весьма функциональное):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(defun mkl (n k) (cond ((= n 0) nil) ;; построение последовательности 
                       (t (cons (* n k n k (expt -1 (- n 1))) (mkl (- n 1) k)))))
==> mkl
 
(defun sumlist (x) (cond ((null x) 0) ;; суммирование списка
                         (t (+ (car x) (sumlist (cdr x))))))
 
==> sumlist
 
(defun task (n k) (sumlist (mkl n k)))  ;; собственно, решение задачи.
 
==> task
 
(task 2 1)
 
==> -3
 
(task 3 1)
 
==> 6
0
1 / 1 / 0
Регистрация: 18.04.2012
Сообщений: 25
02.05.2012, 15:22  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
(cond ((<= i n) (go @))
я так понимаю что в этой строчке если выполняется условие (<= i n), то тогда выполняется 7 строчка, т.е. высчитывается s?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
02.05.2012, 16:23
Если условие выполняется, то происходит переход к метке @ (строка 7), и дальше оттуда функция выполняется в порядке следования выражений
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,765
Записей в блоге: 14
02.05.2012, 20:43
Наталье: решение с go - императивное, а не функциональное. Лучше разберитесь, как работает решение с тройкой функций mkl, sumlist и task.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.05.2012, 20:43

Вычислить сумму и найти число слагаемых, которые вошли в сумму
Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по ...

Вычислить сумму и найти число слагаемых, которые вошли в сумму
Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по модулю...

Вычислить сумму и найти число слагаемых, которые вошли в сумму
Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по...

Вычислить сумму положительных и сумму отрицательных элементов вещественного массива C#
Здравствуйте, не могу разобраться с задачей &quot;Вычислить сумму положительных и сумму отрицательных элементов вещественного массива C#&quot; в...

Вычислить сумму и найти число слагаемых, которые вошли в сумму
Помогите пожалуйста в решении задачи. Вычислить сумму и найти число слагаемых, которые вошли в сумму (см. таблицу 4). Процесс вычислений...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru