0votos

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

por ghost hace 2 meses

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.