您会连续获得n个百分比的折扣。您的任务是找到百分比相等的折扣。输入将包含一个列表,其中列表的每个元素都将以百分比折扣(正负号)折扣。
例子:
Input : a = [-10, -35, -60, -75]
Output : -94.14
Input : a = [-5, -20, -10.-23]
Output : -49.08
成功更改= A + B +(A * B)/ 100
这个公式如何运作?
令x为初始值。 A%更改后,x的值变为(x + x * A / 100)。在连续的B%变化之后,x的值变为(x + x * A / 100)+(x + x * A / 100)* B / 100。因此,x的值的增量为x *(A + B + A * B / 100)/ 100。就百分比而言,我们可以说该值增加了(A + B + A * B / 100)%
方法:
- 只需在arr [0]和arr [1]之间应用连续的更改公式,然后将结果存储在结果变量中即可。
- 现在,使用上述公式计算result和arr [2]之间的连续变化,并将结果存储在result变量中,依此类推。
代码: Python程序,用于以百分比的形式找到连续折扣中的等价折扣。
# Function to find the equivalent discount in
# successive discounts in percentages
def equivalentdis(a):
if(len(a)== 1):
return(a[0])
else:
# succesive 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]))
输出 :
-69.75999999999999