File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change
1
+ from __future__ import print_function
2
+ '''
3
+ Counting Summations
4
+ Problem 76
5
+
6
+ It is possible to write five as a sum in exactly six different ways:
7
+
8
+ 4 + 1
9
+ 3 + 2
10
+ 3 + 1 + 1
11
+ 2 + 2 + 1
12
+ 2 + 1 + 1 + 1
13
+ 1 + 1 + 1 + 1 + 1
14
+
15
+ How many different ways can one hundred be written as a sum of at least two positive integers?
16
+ '''
17
+ try :
18
+ xrange #Python 2
19
+ except NameError :
20
+ xrange = range #Python 3
21
+
22
+ def partition (m ):
23
+ memo = [[0 for _ in xrange (m )] for _ in xrange (m + 1 )]
24
+ for i in xrange (m + 1 ):
25
+ memo [i ][0 ] = 1
26
+
27
+ for n in xrange (m + 1 ):
28
+ for k in xrange (1 , m ):
29
+ memo [n ][k ] += memo [n ][k - 1 ]
30
+ if n > k :
31
+ memo [n ][k ] += memo [n - k - 1 ][k ]
32
+
33
+ return (memo [m ][m - 1 ] - 1 )
34
+
35
+ print (partition (100 ))
You can’t perform that action at this time.
0 commit comments