Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
pirab
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 58
1

Помогите, пожалуйста, сделать вложенный цикл, но не через LOOP...

17.04.2019, 22:34. Просмотров 890. Ответов 5
Метки нет (Все метки)

Помогите, пожалуйста сделать вложенный цикл примера ниже, но не через LOOP
0
Изображения
 
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2019, 22:34
Ответы с готовыми решениями:

Побуквенный вывод слова через цикл Loop (Masm32) DOS
вообщем столкнулся с проблемой. к примеру ввожу ' LSD49 $' выводится через цикл loop (в ECX - 4)...

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

Как сделать сначала вложенный цикл так чтобы i не изменялась а j менялась
Как сделать сначала вложенный цикл так чтобы i не изменялась а j менялась, и подсчитать сколько...

Цикл for/Цикл while Помогите срочно пожалуйста...
1.Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx. где a, b...

Разветвляющийся цикл помогите пожалуйста
Проверить истинность высказывания: "Данные числа x,y являются координатами точки, лежащей в первой...

5
helter
Эксперт по математике/физике
3831 / 2858 / 309
Регистрация: 12.03.2013
Сообщений: 5,192
18.04.2019, 04:32 2
http://clhs.lisp.se/Body/s_tagbod.htm
3
Catstail
Модератор
24402 / 12338 / 2244
Регистрация: 12.02.2012
Сообщений: 20,051
18.04.2019, 07:02 3
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun task (k s r)
  (let ((r 0))
     (iter (for i from 1 to k)
           (iter (for y from 1 to s) 
               (summing  (/ (- r 4) (+ y y 1)) into r))) r)) 
 
==> TASK
 
(task 5 6 2)
 
==> -4445476837477900/14530697473149
1
_sg
4034 / 3792 / 280
Регистрация: 12.05.2012
Сообщений: 2,663
18.04.2019, 08:49 4
Lisp
1
2
3
4
5
6
7
(defun sum-loop (k s r)
  (loop for a from 1 to k sum
        (loop for b from 1 to s sum
              (/ (- r 4) (+ b b 1)))))
 
> (sum-loop 5 6 2)
-86048/9009
Lisp
1
2
3
4
5
6
7
8
9
10
(defun sum-recursion (k s r &optional (z 0))
  (if (zerop k) z
      (sum-recursion (1- k) s r (+ z (sum k s r)))))
 
(defun sum (k s r &optional (z 0))
  (if (zerop s) z
      (sum k (1- s) r (+ z (/ (- r 4) (+ s s 1))))))
 
> (sum-recursion 5 6 2)
-86048/9009
https://www.wolframalpha.com/input/?...)),+y%3D1+to+6
Lisp
1
2
> (* -86048/45045 5)
-86048/9009
Добавлено через 14 минут
Lisp
1
2
3
4
5
6
(defun sum-loop (k s r)
  (* k (loop for b from 1 to s
             sum (/ (- r 4) (+ b b 1)))))
 
> (sum-loop 5 6 2)
-86048/9009
Добавлено через 1 минуту
Lisp
1
2
3
4
5
6
7
8
(defun sum-recursion (k s r) (* k (sum s r)))
 
(defun sum (s r &optional (z 0))
  (if (zerop s) z
      (sum (1- s) r (+ z (/ (- r 4) (+ s s 1))))))
 
> (sum-recursion 5 6 2)
-86048/9009
Добавлено через 8 минут
Lisp
1
2
3
4
5
6
7
(defun sum-loop (k s r)
  (loop repeat k sum
        (loop for b from 1 to s
              sum (/ (- r 4) (+ b b 1)))))
 
> (sum-loop 5 6 2)
-86048/9009
Добавлено через 12 минут
Lisp
1
2
3
4
5
6
(defun sum-loop (k s r &aux (z 0))
  (* k (dotimes (b s z)
         (setf z (+ z (/ (- r 4) (+ b b 3)))))))
 
> (sum-loop 5 6 2)
-86048/9009
1
helter
Эксперт по математике/физике
3831 / 2858 / 309
Регистрация: 12.03.2013
Сообщений: 5,192
18.04.2019, 19:32 5
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(defun f (k s r)
  (prog ((y 1)
         (i 1)
         (sum 0))
   check-counters
     (if (> i k)
         (go result)
         (go sum))
   sum
     (incf sum (/ (- r 4)
                  (+ (* 2 y) 1)))
     (go next-counter)
   next-counter
     (if (< y s)
         (incf y)
         (progn
           (incf i)
           (setf y 1)))
     (go check-counters)
   result
     (return sum)))
1
_sg
4034 / 3792 / 280
Регистрация: 12.05.2012
Сообщений: 2,663
19.04.2019, 09:11 6
Lisp
1
2
3
4
5
6
(defun sum-[r-4]/[2y+1] (k s r)
  (* k (reduce #'+ (loop for a from 1 to s collect a)
               :key #'(lambda (e) (/ (- r 4) (+ e e 1))))))
 
> (sum-[r-4]/[2y+1] 5 6 2)
-86048/9009
0
19.04.2019, 09:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2019, 09:11

задача for(цикл)помогите пожалуйста
Написать программу, которая выводит таблицу значений функции у = |х|. Диапазон изменения аргумента...

Цикл: Помогите, пожалуйста, решить задачу с использованием оператора for
import math x = int(input('Введите число:')) n = int(input('Введите число:')) S = 0 k = 1...

Цикл Loop
Привет! Подскажите, пожалуйста, как задать loop для следующей программы. Юзер вводит высоту,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru