2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Maple создать список
Сообщение15.06.2012, 10:32 
Maple нужно только создать список (список формируется с помощью программы)
Задание:
Создать список тройных элементов [i,j,k], где i,j,k ? [1;10]. Выбрать те элементы сумма которых равна 23.
Исходный код:
N := 3;
arr := [seq([seq((????), j=1..3)], i=1..5)];
select((x) -> sum(x[i], i=1..N) = 23, arr);

Вот где вопросы нужно тут сформировать функцияю чтобы она создала список: Пример:[[1,1,2],[1,1,3],[1,1,4],[1,1,5],[....],[2,3,5],[....],[9,9,9]]
вот такой вот список

 
 
 
 Posted automatically
Сообщение15.06.2012, 10:46 
Аватара пользователя
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Околонаучный софт»

 
 
 
 Re: Maple создать список
Сообщение15.06.2012, 11:55 
Чем можно пользоваться и в связи с чем, т.е. какие требования к тексту? Почему нельзя тупо формировать список (L) в тройном цикле, а в одинарном цикле по всем элементам L не проверять равенство суммы компонент элемента заданному числу (S) и заносить в результирующий список (Q)?

В приводимом ниже коде для простоты отладки вместо 10 использовано 3 (константа N), а вместо 23 — 4 (константа S).
Код:
> macro(N=3, S=4);
> L:=[]: #Очищаем формируемый список перед заполнением
> for i from 1 to N
   do for j from 1 to N
       do for k from 1 to N
           do L:= [op(L), [i, j, k]]; end do;
       end do;
   end do:
> Q:= []: #Очищаем список с результатом перед заполнением
> for i from 1 to nops(L) do if add(j , j=L[i]) = S then Q:= [op(Q), L[i]]; end if; end do;

 
 
 
 Re: Maple создать список
Сообщение15.06.2012, 15:23 
Аватара пользователя
 !  zevsnet, замечание за создание дубля темы, помещенной в Карантин. Закрыто.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group