Cleanup Project Euler Problem 01 (#2900)

* mv str statement into docstr

* rename var to avoid redefining builtin

* clean up module docstr
This commit is contained in:
Carlos Meza 2020-10-09 22:33:00 -07:00 committed by GitHub
parent c83e4b77c5
commit 927e14e7f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 22 additions and 23 deletions

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """
@ -19,14 +19,14 @@ def solution(n: int = 1000) -> int:
83700 83700
""" """
sum = 0 total = 0
terms = (n - 1) // 3 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 terms = (n - 1) // 5
sum += ((terms) * (10 + (terms - 1) * 5)) // 2 total += ((terms) * (10 + (terms - 1) * 5)) // 2
terms = (n - 1) // 15 terms = (n - 1) // 15
sum -= ((terms) * (30 + (terms - 1) * 15)) // 2 total -= ((terms) * (30 + (terms - 1) * 15)) // 2
return sum return total
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """
@ -22,38 +22,38 @@ def solution(n: int = 1000) -> int:
83700 83700
""" """
sum = 0 total = 0
num = 0 num = 0
while 1: while 1:
num += 3 num += 3
if num >= n: if num >= n:
break break
sum += num total += num
num += 2 num += 2
if num >= n: if num >= n:
break break
sum += num total += num
num += 1 num += 1
if num >= n: if num >= n:
break break
sum += num total += num
num += 3 num += 3
if num >= n: if num >= n:
break break
sum += num total += num
num += 1 num += 1
if num >= n: if num >= n:
break break
sum += num total += num
num += 2 num += 2
if num >= n: if num >= n:
break break
sum += num total += num
num += 3 num += 3
if num >= n: if num >= n:
break break
sum += num total += num
return sum return total
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """

View File

@ -1,15 +1,14 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. 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: def solution(n: int = 1000) -> int:
"""Returns the sum of all the multiples of 3 or 5 below n. """Returns the sum of all the multiples of 3 or 5 below n.
A straightforward pythonic solution using list comprehension.
>>> solution(3) >>> solution(3)
0 0

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """

View File

@ -1,7 +1,7 @@
""" """
Problem Statement: Problem Statement:
If we list all the natural numbers below 10 that are multiples of 3 or 5, 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. Find the sum of all the multiples of 3 or 5 below N.
""" """