diff options
Diffstat (limited to 'problems/partitionnumbers.py')
-rw-r--r-- | problems/partitionnumbers.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/problems/partitionnumbers.py b/problems/partitionnumbers.py new file mode 100644 index 0000000..9bb7cb6 --- /dev/null +++ b/problems/partitionnumbers.py @@ -0,0 +1,27 @@ +def compute_partitions(max_n): + partitions = [0] * (max_n + 1) + partitions[0] = 1 + + for i in range(1, max_n + 1): + for j in range(i, max_n + 1): + partitions[j] += partitions[j - i] + + return partitions + +def main(): + import sys + input = sys.stdin.read + data = input().split() + + T = int(data[0]) + queries = [int(data[i]) for i in range(1, T + 1)] + + max_n = 100 + partitions = compute_partitions(max_n) + + results = [str(partitions[n]) for n in queries] + + print("\n".join(results)) + +if __name__ == "__main__": + main() |