diff options
Diffstat (limited to 'AlgoDesignAndTechniqueEdxPython/sources/different_summands.py')
-rw-r--r-- | AlgoDesignAndTechniqueEdxPython/sources/different_summands.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxPython/sources/different_summands.py b/AlgoDesignAndTechniqueEdxPython/sources/different_summands.py new file mode 100644 index 0000000..48af063 --- /dev/null +++ b/AlgoDesignAndTechniqueEdxPython/sources/different_summands.py @@ -0,0 +1,31 @@ +# Uses python3 +import sys + + +def getOptimalSummands(n): + summands = [] + if n < 3: + summands.append(n) + return summands + runningSum = 0 + + for i in range(1, n + 1): + runningSum = runningSum + i + summands.append(i) + if runningSum == n: + break + if runningSum > n: + del summands[-1] + summands[-1] = summands[-1] + n - runningSum + i + break + return summands + +if __name__ == '__main__': + input = sys.stdin.read() + n = int(input) + summands = getOptimalSummands(n) + print(len(summands)) + for x in summands: + print(x, end=' ') + + |