Se le dan n descuentos sucesivos en porcentajes. Su tarea es encontrar el descuento equivalente en porcentaje. La entrada contendrá una lista en la que cada elemento de la lista se descontará en porcentaje que tendrá un signo negativo. Ejemplos:
Input : a = [-10, -35, -60, -75] Output : -94.14 Input : a = [-5, -20, -10.-23] Output : -49.08
CAMBIOS SUCESIVOS = A + B + (A*B) / 100 ¿Cómo funciona esta fórmula? Sea x el valor inicial. Después de un cambio de %, el valor de x se convierte en (x + x*A/100). Después de un cambio de % B sucesivo, el valor de x se convierte en (x + x*A/100) + (x + x*A/100)*B/100. Entonces, el incremento en el valor de x es x*(A + B + A*B/100)/100. En términos de porcentaje, podemos decir que el valor se incrementa en (A + B + A*B/100)% Enfoque:
- Simplemente, aplique la fórmula de cambio sucesivo entre arr[0] y arr[1] y almacene el resultado en la variable de resultado.
- Ahora, calcule el cambio sucesivo entre result y arr[2] utilizando la fórmula anterior y almacene el resultado en la variable result y así sucesivamente.
Código: Programa Python para encontrar el descuento equivalente en descuentos sucesivos en porcentajes.
Python3
# Function to find the equivalent discount in # successive discounts in percentages def equivalentdis(a): if(len(a)== 1): return(a[0]) else: # successive change from two = a[0] + a[1]+ (a[0]*a[1])/100 change =(a[0] + a[1]+ (a[0]*a[1])/100) for i in range(2, len(a)): # iterating a[0] + a[1]+ (a[0]*a[1])/100 # len(a)-2 times change = (change + a[i]+(change * a[i]) / 100) return change; # Driver code print(equivalentdis([-10, -20, -30, -40]))
Producción :
-69.75999999999999
Complejidad de Tiempo: O(n), donde n es el tamaño de un
Espacio Auxiliar: O(1), ya que no se requiere espacio extra
Publicación traducida automáticamente
Artículo escrito por Atul_kumar_Shrivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA