Algoritmia - restar dos listas

 
Vista:

restar dos listas

Publicado por didi (1 intervención) el 15/02/2005 19:36:41
hola soy estudiante y tengo que haer un algoritmo que dadas dos listas debo restar su informacion
ej.
187
-23
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 Alejandro

Resta de números representados como listas

Publicado por Alejandro (307 intervenciones) el 05/03/2024 00:16:06
¡Hola Didi! Para restar dos números dados en forma de listas, puedes seguir el siguiente algoritmo en un lenguaje de programación como Python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def restar_listas(lista1, lista2):
    # Asegurarse de que ambas listas tengan la misma longitud
    if len(lista1) < len(lista2):
        lista1, lista2 = lista2, lista1  # Intercambiar para que la lista1 sea siempre la más larga
 
    # Rellenar con ceros para que ambas listas tengan la misma longitud
    while len(lista2) < len(lista1):
        lista2.insert(0, 0)
 
    resultado = []
 
    carry = 0  # Llevamos para la resta
    for i in range(len(lista1) - 1, -1, -1):
        digito_resultado = lista1[i] - lista2[i] - carry
 
        # Manejar el carry
        if digito_resultado < 0:
            digito_resultado += 10
            carry = 1
        else:
            carry = 0
 
        resultado.insert(0, digito_resultado)
 
    # Eliminar ceros no significativos al principio del resultado
    while resultado[0] == 0 and len(resultado) > 1:
        resultado.pop(0)
 
    return resultado
 
# Ejemplo de uso
numero1 = [1, 8, 7]
numero2 = [0, 2, 3]
 
resultado = restar_listas(numero1, numero2)
print("Resultado de la resta:", resultado)

Este programa toma dos números representados como listas de dígitos (por ejemplo, `[1, 8, 7]` para 187) y realiza la resta. Ten en cuenta que este código asume que el primer número es mayor o igual al segundo para simplificar el algoritmo.

Espero que te sea de ayuda.
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