Note-se que esses mesmos problemas pouco ou nada têm de programação propriamente dita. Não deve ser preciso usar programação dinâmica, nem hash-tables ou coisas desse tipo...
A grande maioria desses mesmos problemas podem ser resolvidos iterativamente ou recursivamente...
Um que me recordo (que tentarei postar aqui) baseava-se em encontrar o valor de um dado ângulo

de modo a que a tensão num cabo que suportava um corpo de massa

, fosse a menor possível.
Basicamente o objectivo é após a análise de forças, conseguir escrever a tensão na corda como uma função dos vários parâmetros supostos conhecidos, e achar o ângulo iterativamente. Ou seja, resolver:

, em ordem a

(Ou mais concretamente,

)