Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
13 / 13 / 2
Регистрация: 14.04.2010
Сообщений: 72
1

Написать функцию, возвращающую в случае первого четного элемента исходный список, в котором первые три числа возведены в квадрат

24.12.2010, 02:09. Просмотров 2013. Ответов 4
Метки нет (Все метки)


Помогите пожалуйста подправить код и решить рекурсию.

Задание:

Дан список чисел. Написать функцию, возвращающую в случае первого четного элемента исходный список, в котором первые три числа возведены в квадрат, иначе - исходный список, в ко-тором первые три числа возведены в куб.

Lisp
1
2
3
4
5
6
7
8
9
10
(defun qwerty (lst1)
(if (oddp (car lst1))
(list (* (* (car lst1) (car lst1)) (car lst1)) 
(* (* (cadr lst1) (cadr lst1)) (cadr lst1)) 
(* (* (caddr lst1) (caddr lst1)) (caddr lst1))
(cdddr lst1))
(list (* (car lst1) (car lst1))
(* (cadr lst1) (cadr lst1))
(* (caddr lst1) (caddr lst1))
(cdddr lst1))))
Если взять например список (4 5 6 7 8 9) то мы получим (16 25 36 (7 8 9)), а надо (16 25 36 7 8 9).

А вот с рекурсией все плохо

Задание:

Описать функцию, которая вставляла бы на заданное место элементы второго списка-аргумента.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2010, 02:09
Ответы с готовыми решениями:

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

Написать функцию, принимающую функцию l, три списка и возвращающую список со значениями, полученными применением функции l к тройкам исходных значений
Дорогие программисты,помогите пожалуйста с этим хаскеллом!Никак не могу решить эту задачу!!Одну я...

Написать функцию no_minus(), возвращающую исходный массив без отрицательных элементов
Создать(Написать) функцию no_minus(), аргументом которой является массив чисел, а результатом...

Написать функцию, возвращающую квадрат переданного ей параметра
Нужна помощь в написании кода. Очень горю.((

__________________
Помогаю в написании студенческих работ здесь.
4
4482 / 4195 / 351
Регистрация: 12.05.2012
Сообщений: 2,954
28.12.2012, 22:44 2
Lisp
1
2
3
4
5
6
7
(defun even-2-3 (w)
  (if (evenp (car w))
      (cons (expt (car w) 2) (cons (expt (cadr w) 2) (cons (expt (caddr w) 2) (cdddr w))))
      (cons (expt (car w) 3) (cons (expt (cadr w) 3) (cons (expt (caddr w) 3) (cdddr w))))))
 
> (even-2-3 '(4 5 6 7 8 9))
(16 25 36 7 8 9)
Lisp
1
2
3
4
5
6
7
(defun insert-elms (w v n)
  (cond ((null w) nil)
        ((zerop n) (nconc v w))
        ((cons (car w) (insert-elms (cdr w) v (1- n))))))
 
> (insert-elms '(1 2 3) '(a b) 2)
(1 2 A B 3)
1
Модератор
Эксперт Python
28417 / 15309 / 3018
Регистрация: 12.02.2012
Сообщений: 25,070
Записей в блоге: 4
29.12.2012, 11:24 3
Вставка с помощью mapcar (без рекурсии):

Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun ins-lst (lst ins n)
  (let ((c 0) (res nil))
       (mapcar #'(lambda (x) (when (= c n) (setq res (append res ins)))
                             (setq res (append res (list x)))
                             (setq c (+ 1 c))) lst) res)) 
 
==> ins-lst
 
(ins-lst '(1 2 3 4) '(a s) 0)
 
==> (a s 1 2 3 4)
1
4482 / 4195 / 351
Регистрация: 12.05.2012
Сообщений: 2,954
29.12.2012, 22:12 4
Lisp
1
2
3
4
5
6
(defun insert-elms (w v n)
  (cond ((zerop n) (append v w))
        ((cons (car w) (insert-elms (cdr w) v (1- n))))))
 
> (insert-elms nil '(a b c) 0)
(A B C)
1
13 / 13 / 2
Регистрация: 14.04.2010
Сообщений: 72
29.12.2012, 22:17  [ТС] 5
Я извиняюсь, но этой теме уже два года. Модератор изменил название темы. Спасибо что ответили.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 22:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Добавить в список число 100 после первого четного элемента
Добавить в список число 100 после первого четного элемента. Добавлено через 3 часа 26 минут...

Написать функцию, возвращающую три разнотипных значения
Написать функцию возвращающую три значения: str, int, char

Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные числа, а L2 – четные
всем привет! ребят, вы не поможете с задачкой? Написать функцию, которая использует исходный...

Найти номер первого четного элемента каждого массива, используя функцию программиста
Откуда появляется ноль после номера первого четного элемента?(то что тут 2 массива, это так и...

Реализовать функцию возведения целого числа в квадрат, возвращающую значение типа int
Как правильно изменить код что бы он скомпилировался, ошибка: Функция должна возвращать значение....

написать написать функцию, возвращающую номер минимального элемента в простом списке
написать функцию, возвращающую номер минимального элемента в простом списке.


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

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

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