0votos

Recursividad para compara la suma de la mitad de los numeros enteros de un arraeglo en Python

por ghost hace 25 días

Este programa esta hecho en python 3, te ayuda a hacer lo que pides, aun que no use recursividad, pero le añadi la una funcion para que pudiera ingresar n cantidad de enteros al arreglo. Tambien si el numero de datos en el arreglo es inpar, toma la mitad del arreglo y apartir de ahi empieza a sumar hacia el inicio y el fin. Aun que no es el lenguaje espero que mi logica te ayude saludos! c:

Hola como estan, no logro terminarlo,denme una mano por favor :desarrollar un programa en Ruby que devuelva verdadero si la suma de la primera mitad de los enteros del arreglo es igual a la suma de la segunda mitad de los enteros del arreglo.

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#1.Desarrollar un programa recursivo que permita realizar lo siguiente: Dado un arreglo de números enteros y que  
#contiene N elementos siendo N>=1, desarrollar un programa en Ruby que devuelva verdadero si la suma de la primera mitad  
#de los enteros del arreglo es igual a la suma de la segunda mitad de los enteros del arreglo.  
def SumaInicio(indice, arreglo): 
    resultado=0 
    while (indice>=0): 
        resultado=int(arreglo[indice])+resultado 
        indice-=1 
    return resultado 
 
def SumaFin(indice2, extension, arreglo): 
    resultado=0 
    while(indice2<=extension): 
        resultado=int(arreglo[indice2])+resultado 
        indice2+=1 
    return resultado 
 
 
arr=[] 
 
longitud=int(input("Hola, por favor ingresa cuantos elementos contendra tu arreglo: ")) 
 
diferenciacion=longitud 
extension=diferenciacion-1 
ind1=int((diferenciacion/2)-1) 
ind2=int(diferenciacion/2) 
mitad=int(((diferenciacion/2)+0.5)-1) 
 
print("su arreglo contendra ", longitud, " elementos") 
 
while longitud>0: 
    valor=int(input("Ingrese valor: ")) 
    arr.append(valor) 
    longitud-=1 
 
 
if (diferenciacion%2==0): 
    x=SumaInicio(ind1, arr) 
    y=SumaFin(ind2, extension, arr) 
else: 
    x=SumaInicio(mitad, arr) 
    y=SumaFin(mitad, extension, arr) 
 
 
if(x==y): 
    print("") 
    print(True) 
else: 
    print("") 
    print(False) 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.