我在Maple中有一个列表A := [3,1,7,2,4,9]
。
如何获得n
最小值?
我需要将n
最小值相加,所以我想我应该使用像
n := 3:
A := [3, 1, 7, 2, 4, 9]:
add( [ seq( min( A ), i=1..n) ] );
但它只会加总1 + 1 + 1
,因为每次最小值为1。我需要在第一次发生时删除最小值。
答案 0 :(得分:1)
一种简单的方法是首先对A
进行排序。
restart;
A := [3,1,7,2,4,9]:
n := 3:
B := sort(A);
B := [1, 2, 3, 4, 7, 9]
add(B[i], i=1..n);
6
如果某个值出现多次,您希望发生什么?
[编辑]
后续问题涉及如何从列表中删除0
。这里有几种方法。
restart;
A := [3,1,0,7,2,0,4,0,9]:
remove(x->x=0, A);
[3, 1, 7, 2, 4, 9]
remove(type, A, identical(0));
[3, 1, 7, 2, 4, 9]
map(x->`if`(x=0,NULL,x), A);
[3, 1, 7, 2, 4, 9]
顺便说一下,当非零值出现不止一次时,你没有说明你想要做什么。