-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMultiples of 3 or 5
More file actions
34 lines (26 loc) · 859 Bytes
/
Multiples of 3 or 5
File metadata and controls
34 lines (26 loc) · 859 Bytes
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
# Misc-Python-Problems
import time
time.process_time()
def multiplesof3or5(n):
multiplesarray = []
for i in range(n):
if i % 3 == 0:
multiplesarray.append(i)
elif i % 5 == 0:
multiplesarray.append(i)
return multiplesarray
print(sum(multiplesof3or5(10)))
print(sum(multiplesof3or5(100)))
print(sum(multiplesof3or5(1000)))
#Above: my solution
#Below: Project Euler's Solution
print(sum(multiplesof3or5(1000000)))
#print(sum(multiplesof3or5(10000000)))
def SumDivBy(n, to):
m = (to-1)//n
return (n*m*(m+1))//2
print(SumDivBy(3, 10) + SumDivBy(5, 10) - SumDivBy(15, 10))
print(SumDivBy(3, 1000) + SumDivBy(5, 1000) - SumDivBy(15, 1000))
print(SumDivBy(3, 1000000) + SumDivBy(5, 1000000) - SumDivBy(15, 1000000))
print(SumDivBy(3, 1000000000) + SumDivBy(5, 1000000000) - SumDivBy(15, 1000000000))
print("\n", time.process_time(), "seconds")