Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nescau Gelado

calcular soma de uma sequência

Recommended Posts

Fala ae pessoal!

vim pedir uma ajuda...

como faço para calcular a soma da seguinte seqüência: {{1,2,3},{-1,-2,-3},{-1,-3,-4},{10,20,30}}

empregando a técnica de acumulação?

 

Alguem pode ajudar...?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso:

 

SOMA_LISTA([],0).
SOMA_LISTA(X|Y,TOTAL):- SOMA_LISTA(Y,SUB), TOTAL is SUB+X+SOMA_ELEMENTOS(Y).
SOMA_ELEMENTOS([],0).
SOMA_ELEMENTOS(A|B,PART) :- SOMA_ELEMENTOS(B,PART2), PART is PART2+A.

 

(Provavelmente eu inverti alguma coisa ou tá faltando algo.Faz 6 meses que não toco em prolog.)

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to usando isso:

 

somatorio([],Acumulador,Saida):-
Saida=Acumulador.
somatorio([X|R],ResParcial,Saida):-
Acumulador is X+ResPacial,
somatorio(R,Acumulador,Saida).

com a pergunta:

?- somatorio([1,2,3,4],0,X).

resultando na resposta: X = 10

 

Agora como faço pra somar mais de uma lista?

 

Ex: [1,2,3,4],[3,2,5,6],[7,5,3,2]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.