Dada una secuencia de + ve números, ¿encuentra las diferentes combinaciones de elementos cuya suma es mayor que la mitad de la suma total de la secuencia?

Hagamos una función F (int x, list aList) que proporciona una lista de listas, cada una de las cuales suma x o más.
Agreguemos también todos los elementos de la lista de entrada L para obtener la suma S.

Ahora queremos listas que sumen S / 2 o más, que podemos obtener fácilmente por F (S / 2, L)

Ahora F (x, aList) se puede implementar de forma recursiva:

F (int x, list aList)
{
volver conjunto vacío de aList está vacío
tome el primer elemento E de una Lista,
{
si esto es más que x, entonces agregue E a outputList
}
llamada recursiva F (xE, LE)
{
si esto devuelve un conjunto vacío, entonces nada más que agregar a outputList
si esto devuelve algún conjunto de listas (rList), añada E a cada lista de rList y agregue a outputList
}
llamada recursivamente F (x, LE)
{
si esto devuelve un conjunto vacío, entonces nada más que agregar a outputList
si esto devuelve algún conjunto de listas (rList), entonces cada elemento de rList se agrega a outputList
}
return outputList
}

Espero que el código psuedo sea fácil de analizar.

More Interesting

¿Existe un patrón que le permita saber cuántos dígitos tendrá un producto de dos números, sin las matemáticas?

¿Cómo se factorizan [matemáticas] {\ nu ^ 3} – \ nu – 1 [/ matemáticas]?

“Dados los N enteros, siempre podemos encontrar dos enteros distintos cuya diferencia de cuadrados es un múltiplo de 1000”. ¿Cuál es el valor entero más pequeño de N que haría que la afirmación sea verdadera?

Dada una simple regresión lineal E (y) = bx1 + c + error, con solo una variable independiente, dos parámetros desconocidos y un rango de posibles observaciones para x1 = [0,100], ¿cómo podría llegar a un diseño secuencial bayesiano óptimo que minimiza la incertidumbre de mis estimaciones de parámetros en cada paso?

¿Cómo puedo demostrar que el algoritmo Pagerank es correcto y funciona?

Dado un número N <10 ^ 100, ¿cuántos números cuyos dígitos son una permutación de dígitos en N que son divisibles por 11? Gracias por adelantado.

Trigonometría (matemática): ¿Cómo puedo obtener un triple pitagórico de una hipotenusa dada (si existe)?

¿Cómo puedo generar 8 números (aleatorios) que deberían oscilar entre 0 y 80 y la suma de esos 8 números generados debería ser 80.?

Combinatoria: Sea el conjunto de {(1,1), (1, -1), (-1,1)} -trayecto de red que comienza en (1,1), no use el mismo vértice dos veces, y nunca toque el eje x o el eje y. ¿Cuántos caminos terminan en el punto (4,8)?

¿Cómo puedo determinar el límite superior más ajustado para el problema 30 en el Proyecto Euler?