2016-12-13 1 views
0

Maple에 A := [3,1,7,2,4,9]리스트가 있습니다.Maple의 최소값 합계

어떻게 n 최소값을 얻을 수 있습니까?

은 내가 n 최소 값을 합산 할 필요가 그래서 내가

n := 3: 
A := [3, 1, 7, 2, 4, 9]: 
add([ seq(min(A), i=1..n) ]); 

같은 것을 사용해야 생각하지만, 최소 값마다 하나이기 때문에 그것은 단지, 1 + 1 + 1을 요약합니다. 처음 발생했을 때 최소값을 제거해야합니다.

답변

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] 

그런데 0이 아닌 값이 두 번 이상 나오는 경우 수행 할 작업을 명확히하지 않았습니다.

+0

정렬 할 수 있지만 정렬 전에 목록에서 0을 제거 할 수 있습니까? 'remove (0, A)'시도했지만 작동하지 않습니다. – Jamgreen