Skip to content

Commit

Permalink
Cleanup Project Euler Problem 01 (TheAlgorithms#2900)
Browse files Browse the repository at this point in the history
* mv str statement into docstr

* rename var to avoid redefining builtin

* clean up module docstr
  • Loading branch information
drts01 authored Oct 10, 2020
1 parent c83e4b7 commit 927e14e
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 23 deletions.
2 changes: 1 addition & 1 deletion project_euler/problem_01/sol1.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand Down
12 changes: 6 additions & 6 deletions project_euler/problem_01/sol2.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand All @@ -19,14 +19,14 @@ def solution(n: int = 1000) -> int:
83700
"""

sum = 0
total = 0
terms = (n - 1) // 3
sum += ((terms) * (6 + (terms - 1) * 3)) // 2 # sum of an A.P.
total += ((terms) * (6 + (terms - 1) * 3)) // 2 # total of an A.P.
terms = (n - 1) // 5
sum += ((terms) * (10 + (terms - 1) * 5)) // 2
total += ((terms) * (10 + (terms - 1) * 5)) // 2
terms = (n - 1) // 15
sum -= ((terms) * (30 + (terms - 1) * 15)) // 2
return sum
total -= ((terms) * (30 + (terms - 1) * 15)) // 2
return total


if __name__ == "__main__":
Expand Down
20 changes: 10 additions & 10 deletions project_euler/problem_01/sol3.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand All @@ -22,38 +22,38 @@ def solution(n: int = 1000) -> int:
83700
"""

sum = 0
total = 0
num = 0
while 1:
num += 3
if num >= n:
break
sum += num
total += num
num += 2
if num >= n:
break
sum += num
total += num
num += 1
if num >= n:
break
sum += num
total += num
num += 3
if num >= n:
break
sum += num
total += num
num += 1
if num >= n:
break
sum += num
total += num
num += 2
if num >= n:
break
sum += num
total += num
num += 3
if num >= n:
break
sum += num
return sum
total += num
return total


if __name__ == "__main__":
Expand Down
2 changes: 1 addition & 1 deletion project_euler/problem_01/sol4.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand Down
5 changes: 2 additions & 3 deletions project_euler/problem_01/sol5.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

"""A straightforward pythonic solution using list comprehension"""


def solution(n: int = 1000) -> int:
"""Returns the sum of all the multiples of 3 or 5 below n.
A straightforward pythonic solution using list comprehension.
>>> solution(3)
0
Expand Down
2 changes: 1 addition & 1 deletion project_euler/problem_01/sol6.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand Down
2 changes: 1 addition & 1 deletion project_euler/problem_01/sol7.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5,
we get 3,5,6 and 9. The sum of these multiples is 23.
we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below N.
"""

Expand Down

0 comments on commit 927e14e

Please sign in to comment.