2
« en: 10 de Junio 2020, 18:02 »
Hola necesito ayuda concretamente con este ejercicio...
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
Y aquí es hasta donde he podido llegar..
Proceso sumanN
Definir datos, i,n,a,b,numN Como Entero;
dimension datos[20];
escribir "ingresar la cantidad de numeros que dispone la lista(de 2 a 20)";
leer n;
para i<- 0 hasta n-1 Hacer
escribir " ingrese el dato ", i+1,":";
leer datos[i];
FinPara
Escribir " ingrese el numero (N) para comparar los numeros de la lista ";
leer numN;
a<-0;
b<-1;
Mientras datos[a] <> datos[n-2] Hacer
Repetir
si datos[a] + datos[b] = numN Entonces
Escribir "Verdadero"," Puesto que ",datos[a]," + ", datos[b], " = ", numN;
b<-b+1;
finsi
Hasta Que datos[b] == datos[n-1]
Repetir
a<-a+1;
si datos[b]<>datos[n-1] Entonces
Escribir "Verdadero"," Puesto que ",datos[a]," + ", datos[b], " = ", numN;
b<-b+1;
FinSi
Hasta Que datos[a] == datos[n-2]
FinMientras
FinProceso
Si alguien me puede ayudar o guiarme se lo agradezco de antemano..!!