Algoritmia - Ayuda con un algoritmo que busque una suma de valores dentro de una lista

 
Vista:
Imágen de perfil de Marcela
Val: 11
Ha disminuido su posición en 2 puestos en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda con un algoritmo que busque una suma de valores dentro de una lista

Publicado por Marcela (5 intervenciones) el 16/07/2020 04:00:27
Escribir un algoritmo que, dada una lista de números ordenados un número N, te devuelva VERDADERO si alguna combinación de dos números cualesquiera suman N, y devuelva FALSO si ninguna combinación de dos números sumados da como resultado el número N.

Por Ejemplo:

En este caso, la lista es [1,2,3,4] y el segundo número (N) es 10:
[1 ,2, 3, 4] y 10. Quieres saber si alguna combinación de esos cuatro números de la lista suman 10. en Este caso es FALSO, porque ninguna combinación de dos números suma diez.
[1, 2, 3, 4] y 5 . Es VERDADERO, porque 2 + 3 es igual a cinco.
[1, 2, 3, 4] y 8 . Es FALSO.

[2,5,7,10,11,15,20] y 13 // verdadero 2+11 suman 13
[2,5,7,10,11,15,20] y 14 // falso
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 84
Bronce
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda con un algoritmo que busque una suma de valores dentro de una lista

Publicado por Rodrigo (28 intervenciones) el 19/07/2020 18:03:40
Puesto que los numeros estan ordenados, se puede usar 2 indices.
El primer indice comienza en el inicio del arreglo, el segundo indice comienza al final del arreglo.
Hay que sumar los numeros apuntados por estos indices.
Si la suma resulta menor a la suma buscada, se incrementa el indice menor, si es mayor se decrementa el mayor. Si es igual se encontro y se retorna true. Si los indices al acercarse llegan a juntarse, se retorna false.

En los ejemplos de abajo, a y b son los indices.

1
2
3
4
5
6
7
8
9
Buscando 13
. a                    b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 22 > 13, decrementar indice b
 
. a                b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 17 > 13, decrementar indice b
 
. a            b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 13 = 13 retornar true

y

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Buscando 14
. a                    b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 22 > 14, decrementar indice b
 
. a                b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 17 > 14, decrementar indice b
 
. a            b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 13 < 14 incrementar a
 
.    a         b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 16 > 14 decrementar b
 
.    a     b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 15 > 14 decrementar b
 
.    a  b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> suma 12 < 14 incrementar a
 
.       a
.       b
[ 2, 5, 7, 10, 11, 15, 20 ]   -> a y b coinciden, retornar false
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Marcela
Val: 11
Ha disminuido su posición en 2 puestos en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda con un algoritmo que busque una suma de valores dentro de una lista

Publicado por Marcela (5 intervenciones) el 24/07/2020 06:31:30
Mil gracias. Pero cómo quedaría el algoritmo en pseudocódigo?. Agradezco su ayuda prestada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 84
Bronce
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda con un algoritmo que busque una suma de valores dentro de una lista

Publicado por Rodrigo (28 intervenciones) el 24/07/2020 17:49:30
Esa parte la haces tu. Yo ya colabore con la idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 156
Plata
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda con un algoritmo que busque una suma de valores dentro de una lista

Publicado por Luis Horacio (63 intervenciones) el 27/07/2020 17:12:38
Buenos días, aqui esta un ejemplo, mira si con ese puedes hacerlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar