Celso,

Para ajudar vc pode pensar como vc faria tendo varios cheques em mão, tendo
que aproximar ao valor desejado??

Algo assim:

Recebo um valor X (6.480,00) para pagar, depositar etc.
Vejo se tenho algum chegue nesse valor.
Se sim pego. ex: 1.521
Vejo se satisfaz a conta q tenho de pagar etc? Não?
Então pegou outro cheque...Menor que a diferenca do primeiro pelo valor
total. ex: 6.480 - 1.521 = 4.959
volto a procurar outro cheque menor ou igual ao valor residual....e assim
repito isso até fazer o valor total.

Te ajudou deu uma iluminada nas ideias?

vlw






Alan Aparício
@AlanAnalista <http://www.twitter.com/AlanAnalista>


http://www.comperjnews.com.br

"A verdadeira medida de um homem não é como ele se comporta em momentos de
conforto e conveniência, mas como ele se mantém em tempos de controvérsia e
desafio. "

(Martin Luther King Jr.)




2012/4/20 Celso Lorenzetti (GMail) <clorenzett...@gmail.com>

>   Bom dia colegas,
>
> preciso da ajuda de algum colega em algo que parece bem simples, mas não
> estou encontrando nenhuma referência sobre o assunto.
> Imagino que deva existir algum algorítmo para isso... mas não sei por onde
> começar a procura.
>
> Abaixo tenho uma relação de cheques e seus valores. A quantidade quer
> dizer que tenho 22 cheques de R$ 1521,00 e assim por diante.
>
> Preciso agrupar eles em grupos que formem R$ 6.480,00 ou o mais próximo
> possível.
>
> Valor   Quantidade de cheques
> 1521         22
> 1336           3
> 1318           2
> 1216           3
> 1210           5
> 1070           8
> 997             3
> 987             5
>
>  Se eu pegar um de 1521 + 1336 + 1318 + 1318 + 987 = 6480 –>>Perfeito
>
> Agora considerando só o que sobrou, repetir o processo...
>
>  O problema é encontrar uma lógica que descubra quais cheques utilizar
> para chegar o mais próximo dos R$ 6.480,00
>
> Esses valores estão em um tabela, com um registro para cada cheque. Tipo
> tem 22 registros para os cheques de 1521, 3 para os de 1336 e assim por
> diante.
>
> Algum colega tem alguma luz para me dar?
>
> Muito obrigado.
>
>
> Att,
>
> Celso Lorenzetti
> (51) 3524-7405 / 8531-3100
> www.sysrs.com.br
>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a