32 lines
741 B
Python
32 lines
741 B
Python
#!/usr/bin/env python3
|
|
|
|
# It is possible to write five as a sum in exactly six different ways:
|
|
#
|
|
# 4 + 1
|
|
# 3 + 2
|
|
# 3 + 1 + 1
|
|
# 2 + 2 + 1
|
|
# 2 + 1 + 1 + 1
|
|
# 1 + 1 + 1 + 1 + 1
|
|
#
|
|
# How many different ways can one hundred be written as a sum of at least two positive integers?*/
|
|
|
|
from projecteuler import partition_fn, timing
|
|
|
|
|
|
@timing
|
|
def p076():
|
|
partitions = [0] * 101
|
|
|
|
# The number of ways a number can be written as a sum is given by the partition function
|
|
# (-1 because the partition function includes also the number itself).
|
|
# The function is implemented in projecteuler.py.
|
|
n = partition_fn(100, partitions) - 1
|
|
|
|
print('Project Euler, Problem 76')
|
|
print(f'Answer: {n}')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
p076()
|