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
51
52
53
54
55
56
57
58
59
def multiplier(arr):
result=[1 for i in arr]
for i in range(len(arr)):
for j in range(len(arr)):
if j==i:
continue
else:
result[i]=result[i]*arr[j]
return result
def multiplier2(arr):
productbeforeeachindex=[1]*len(arr)
currentproduct=1
i=0
while(i<len(arr)):
productbeforeeachindex[i]*=currentproduct
currentproduct*=arr[i]
i+=1
productaftereachindex=[1]*len(arr)
currentproduct=1
j=len(arr)-1
while(j>=0):
productaftereachindex[j]*=currentproduct
currentproduct*=arr[j]
j-=1
productexceptatindex=[None]*len(arr)
for i in range(len(productexceptatindex)):
productexceptatindex[i]=productbeforeeachindex[i]*productaftereachindex[i]
return productexceptatindex
def multiplier3(arr):
productbeforeeachindex=[1]*len(arr)
currentproduct=1
i=0
while(i<len(arr)):
productbeforeeachindex[i]=currentproduct
currentproduct*=arr[i]
i+=1
productexceptatindex=[1]*len(arr)
currentproduct=1
j=len(arr)-1
while(j>=0):
productexceptatindex[j]=productbeforeeachindex[j]*currentproduct
currentproduct*=arr[j]
j-=1
return productexceptatindex
print(multiplier([2, 7, 3, 4]))
print(multiplier([3, 0, 3, 4]))
print(multiplier2([2, 7, 3, 4]))
print(multiplier3([2, 7, 3, 4]))