Мне удалось составить код схемы, чтобы добавить два списка в схему. say, list1 - '(стр. D) list 2' (p p p. D) Моя пользовательская функция добавления с использованием cdr & Концепция автомобиля, можно сделать (p p p p. D), как ожидается.Умножьте в схеме для списков минусов
Однако теперь я хочу умножить и & на основе числа p, у меня есть пользовательская функция, которая дает мне количество списков. скажем, для list1 -> 1 list2-> 3
Я также могу определить, является ли какой-либо один из двух списков пустым, поэтому я выводю 'd.
Но реальная проблема заключается в том, когда дело доходит до умножения. песни1 - '(стр д.) Песни2 -' (PPPPP д.) результат ожидается - (2 * 5 = 10 р-х), так «(. Pppppppppp г)
Я попытался с помощью в то время как контур, сделать в то время, добавить пользовательская функция, но я не могу понять, как это сделать. Может быть, некоторые рекомендации могут помочь мне :)
Я хочу создать пользовательскую функцию, так как я не хочу использовать набор! или что-то, что облегчает процесс, но хочет понять рекурсию, как это могло бы работать в этом случае :).
Что такое 'd' и' z'? Обычно сумма двух списков - это стандартная процедура 'append', но она не может делать точечные списки, поскольку' (a. B) 'добавляется к' (a. B) 'is' (aa. B) 'по вашему мнению, но что о первых списках 'b' ?? Вы написали код, который вы говорите, но где он? Если вам нужна помощь, вам нужно проявить определенные усилия. – Sylwester
Вы хотите внедрить числа перанов ... правильно? –
Ваша логика хороша, но проблема кроется в деталях вашего кода, поэтому только с логикой и без кода нам сложно угадать, что вы делаете неправильно ... Почему бы вам не переписать его (это потребовалось бы не более 2 минут, если вы знаете логику, за которой следуете), чтобы мы могли проверить это? – HyperZ